Merge remote-tracking branch 'origin/master'

This commit is contained in:
이경숙
2026-03-27 18:34:43 +09:00
18 changed files with 411 additions and 193 deletions

View File

@@ -996,6 +996,14 @@ public interface BOOrdrMapper {
public List<DataMap> selectMbrSubsvcOrdrList(BOOrdrDlvyVO ordrDlvyVO);
/**
* 사용자 > 주문완료 > 구독서비스 주문 목록 조회
* @param ordrDlvyVO
* @return List<DataMap>
*/
public List<DataMap> selectOrdrSubsvcDtllList(BOOrdrDlvyVO ordrDlvyVO);
/**
* 사용자 > 구독서비스 결제 > 구독서비스 주문 상품 목록 조회
* @param subsvcVO

View File

@@ -1923,7 +1923,13 @@ public class BOOrdrService{
DataMap ordrDtl = mapper.selectOrdrDtl(ordrVO);
List<DataMap> goodsList = mapper.selectOrdrGoodsDtllList(ordrVO);
List<DataMap> goodsList = new ArrayList<>();
if("Y".equals(ordrDlvyVO.getSubsvcAt())) {
int subsvcInnb = ((BigInteger) ordrDtl.get("subsvcInnb")).intValue();
goodsList = mapper.selectOrdrSubsvcDtllList(ordrDlvyVO);
} else {
goodsList = mapper.selectOrdrGoodsDtllList(ordrVO);
}
List<DataMap> dscntList = selectOrdrGoodsDtllDscntList(ordrVO);
@@ -1967,7 +1973,7 @@ public class BOOrdrService{
content.put("refundList", refundList);
content.put("total", total);
content.put("mlgAccmlNtcList", mlgAccmlNtcList);
content.put("mlgAccmlAmt", goodsList.stream().mapToLong(obj -> (long) obj.get("mlgAmt")).sum());
content.put("mlgAccmlAmt", goodsList.stream().mapToLong(obj -> ((Number) obj.get("mlgAmt")).longValue()).sum());
content.put("totalDscntAmt", dscntList.stream().mapToLong(obj -> ((BigDecimal) obj.get("dscntAmt")).longValue()).sum());
return content;
@@ -5745,6 +5751,7 @@ public class BOOrdrService{
*/
public Map<String, Object> selectOrdrCompt(BOOrdrVO ordrVO) {
BOOrdrDlvyVO ordrDlvyVO = new BOOrdrDlvyVO();
ordrVO.setSubsvcAt((String) mapper.selectOrdrDtl(ordrVO).get("subsvcAt"));
BeanUtils.copyProperties(ordrVO, ordrDlvyVO);

View File

@@ -36,6 +36,8 @@ public class BOOrdrDlvyVO extends AbstractVO {
private String sysDvCd; // 시스템 구분 코드
private String subsvcAt; // 구독서비스 여부
/** 현재 주문 상태 */
private String currOrdrSttusCd;

View File

@@ -151,6 +151,9 @@ public class BOOrdrVO extends AbstractVO {
/** 장바구니 고유번호 배열 */
private String[] cartInnbs;
/** 구독서비스 주문여부 */
private String subsvcAt;
/** 구독서비스 고유번호 */
private String subsvcInnb;

View File

@@ -791,7 +791,10 @@ public class OrdrController {
});
LinkedHashMap goodsOne = ((List<LinkedHashMap>) paramData.get("goodsList")).get(0);
if(goodsOne.containsKey("subsvcInnb")) {
Boolean subsvcAt = goodsOne.containsKey("subsvcInnb");
if(subsvcAt) {
model.addAttribute("subsvcInnb", goodsOne.get("subsvcInnb"));
BOSubsvcVO subsvcVO = new BOSubsvcVO();
subsvcVO.setSopmalCd((String) goodsOne.get("sopmalCd"));
subsvcVO.setSubsvcInnb(goodsOne.get("subsvcInnb").toString());
@@ -1084,6 +1087,12 @@ public class OrdrController {
log.debug("=================insertKcpSetle after ");
model.addAttribute("paramVO", payVO);
if ("1".equals(content.get("status"))) { // 에러처리
String subsvcInnb = request.getParameter("subsvc_innb");
if(subsvcInnb != "") {
model.addAttribute("subsvcInnb", subsvcInnb);
}
}
return "sopmal/ordr/OrdrRspnsKcpPayR";
}

View File

@@ -41,9 +41,12 @@ public class OrdrVO extends AbstractVO {
/** 실패 메세지 */
private String message;
/*결제 플랫폼 타입 코드*/
/** 결제 플랫폼 타입 코드*/
private String setlePltfomTyCd;
/*주문유형*/
/** 주문유형*/
private String ordrTyCd;
/** 구독서비스 고유번호*/
private String subsvcInnb;
}

View File

@@ -3671,9 +3671,11 @@
AND GMP.SOPMAL_CD = #{sopmalCd}
LEFT JOIN GC_MEMBER_GRAD MG ON GMP.MBR_GRAD_INNB = MG.MBR_GRAD_INNB
AND GMP.SOPMAL_CD = MG.SOPMAL_CD
AND MG.USE_AT = 'Y'
LEFT JOIN GC_MEMBER_GRAD MG_NEXT
ON MG.MBR_GRAD_ORDR + 1 = MG_NEXT.MBR_GRAD_ORDR
AND MG.SOPMAL_CD = MG_NEXT.SOPMAL_CD
AND MG_NEXT.USE_AT = 'Y'
LEFT JOIN GC_ORDER O ON MBR.MBR_DV_CD = O.MBR_DV_CD
AND MBR.MBR_INNB = O.MBR_INNB
AND O.USE_AT = 'Y'

View File

@@ -5594,6 +5594,51 @@
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
</select>
<!-- 사용자 > 주문완료 > 구독서비스 주문 목록 조회 -->
<select id="selectOrdrSubsvcDtllList" parameterType="com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrDlvyVO" resultType="dataMap">
<![CDATA[
SELECT GO.SOPMAL_CD
, GS.IMG AS GOODS_IMG_COURS
, GS.SUBSVC_NM AS GOODS_NM
, GS.SUBSVC_GNR_NM AS OPTN_NM
, ITEM.INPUT_OPTN_TEXT
, ITEM.CNT AS ORDR_QY
, GS.SUBSVC_INNB AS GOODS_INNB
, GO.RL_SETLE_AMT AS SLEPRIC
, ITEM.DSCNT_AMT
, ROUND((IFNULL(GO.RL_SETLE_AMT, 0) - IFNULL(ITEM.DSCNT_AMT, 0))) AS APPLY_DSCNT_AMT
, ITEM.MLG_AMT
FROM GC_ORDER GO
INNER JOIN GC_SUBSVC GS ON GO.SUBSVC_INNB = GS.SUBSVC_INNB
INNER JOIN (
SELECT GOI.SOPMAL_CD
, GOI.ORDR_INNB
, MAX(GOI.GOODS_INNB) AS GOODS_INNB
, MAX(GOIO.ORDR_DLVY_INNB) AS ORDR_DLVY_INNB
, COUNT(DISTINCT GOI.ORDR_GOODS_INNB) AS CNT
, SUM(GOIO.ORDR_QY) AS ORDR_QY
, MAX(FN_GET_ORDER_INPUT_OPTN(GOI.SOPMAL_CD, GOI.ORDR_INNB, GOI.ORDR_GOODS_INNB, GOIO.ORDR_GOODS_OPTN_INNB)) AS INPUT_OPTN_TEXT
, MAX(GOI.GOODS_IMG_COURS) AS GOODS_IMG_COURS
, SUM(FN_GET_ORDER_GOODS_DSCNT_AMT_2(GOI.SOPMAL_CD, GOI.ORDR_GOODS_INNB, GOIO.ORDR_GOODS_OPTN_INNB)) AS DSCNT_AMT
, SUM(FN_GET_ORDER_ACCML_MLG_AMT(GOI.SOPMAL_CD, GOI.ORDR_INNB, GOI.ORDR_GOODS_INNB, GOIO.ORDR_GOODS_OPTN_INNB)) AS MLG_AMT
FROM GC_ORDER_ITEM GOI
INNER JOIN GC_ORDER_ITEM_OPTION GOIO ON GOI.SOPMAL_CD = GOIO.SOPMAL_CD
AND GOI.ORDR_GOODS_INNB = GOIO.ORDR_GOODS_INNB
WHERE GOI.SOPMAL_CD = #{sopmalCd}
AND GOI.ORDR_INNB = #{ordrInnb}
AND GOI.GOODS_KND_CD = '01'
) ITEM ON ITEM.SOPMAL_CD = GO.SOPMAL_CD
AND ITEM.ORDR_INNB = GO.ORDR_INNB
LEFT JOIN GC_ORDER_SETLE GOS ON GOS.SOPMAL_CD = GO.SOPMAL_CD
AND GOS.ORDR_INNB = GO.ORDR_INNB
WHERE GO.USE_AT = 'Y'
AND GO.SUBSVC_AT = 'Y' /*구독서비스*/
AND GO.SOPMAL_CD = #{sopmalCd}
AND GO.ORDR_INNB = #{ordrInnb}
ORDER BY GO.REGIST_DT desc
]]>
</select>
<!-- 사용자 > 구독서비스 결제 > 구독서비스 주문 상품 목록 조회 -->
<select id="selectSubsvcGoodsList" parameterType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO" resultType="com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO">
WITH RECURSIVE seq AS (

View File

@@ -52,7 +52,7 @@
<img class="login__logo active" src="/login/admin/images/logo_default.png" alt="gcone">
</a>
</div>
<%-- <span class="login__pageTitle__text">통합관리자</span>--%>
<span class="login__pageTitle__text">통합관리자</span>
</h2>
<form id="loginForm">
<input type="hidden" id="realm" value="${realm}">

View File

@@ -2748,11 +2748,8 @@
const title = $(this).attr('title');
if (fn_is_empty(val) && (name === 'recpntNm' || name === 'recpntMbtlnb')) {
alert(title + '을 입력해 주십시요');
$('#dlvylcForm').find('input[name="' + name + '"]').focus();
alert(title + '을 입력해 주십시오');
isValid = false;
return false;
@@ -2763,9 +2760,14 @@
} else {
// console.log("dlvylcDvCd : ",dlvylcDvCd);
const requiredMap = {
KR: 'cstmclerCd',
JP: 'prefcd'
};
if ('New' === dlvylcDvCd) {
const dlvylcAreaCd2 = $('#dlvylcForm').find('input[name="dlvylcAreaCd"]').val();
console.log("dlvylcAreaCd(new) : ",dlvylcAreaCd2);
const dlvylcAreaCdNew = $('#dlvylcForm').find('input[name="dlvylcAreaCd"]').val();
// console.log("dlvylcAreaCd(new) : ",dlvylcAreaCdNew);
$('#dlvylcForm').find('.rqrd').each(function () {
@@ -2773,39 +2775,51 @@
if (fn_is_empty(val)) {
const name = $(this).attr('name');
if('JP' !== dlvylcAreaCd2 || 'cstmclerCd' !== name ) {
const title = $(this).attr('title');
alert(title + '을 입력해 주십시요');
$('#dlvylcForm').find('input[name="' + name + '"]').focus();
isValid = false;
return false;
}
}
});
} else {
const dlvylcAreaCd = $('#dlvylcAreaCd').val();
// console.log("dlvylcAreaCd(dft) : ",dlvylcAreaCd);
if('KR' === dlvylcAreaCd){
// console.log("KR");
const val = $('#cstmclerCd').val();
if (fn_is_empty(val)) {
alert('개인통관번호를 입력해 주십시요');
const title = $(this).attr('title');
$('#dlvylcForm').find('input[name="' + name + '"]').focus();
alert(title + '을 입력해 주십시오');
isValid = false;
return false;
}
});
const required = requiredMap[dlvylcAreaCdNew];
if (required) {
const $input = $('input.new[name="' + required + '"]');
const title = $input.attr('title');
const value = $input.val();
if (fn_is_empty(value)) {
alert(title + '을 입력해 주십시오');
isValid = false;
return false;
}
}
} else {
const dlvylcAreaCd = $('#dlvylcAreaCd').val();
// console.log("dlvylcAreaCd(dft) : ",dlvylcAreaCd);
const required = requiredMap[dlvylcAreaCd];
if (required) {
const $input = $('input.new[name="' + required + '"]');
const title = $input.attr('title');
const value = $input.val();
if (fn_is_empty(value)) {
alert(title + '을 입력해 주십시오');
isValid = false;
return false;
}
} else {
alert('배송지역코드를 입력해 주십시오');
isValid = false;
return false;
}
}
}
@@ -3764,28 +3778,24 @@
<span class="orderInfo__text recpntMbtlnb_ordrInfo_text"><c:out value="${dftDlvylc.mbtlnb}"/></span>
</td>
</tr>
<c:choose>
<c:when test="${dftDlvylc.dlvylcAreaCd eq 'KR'}">
<tr class="deliveryAddressDefault">
<th><span class="orderInfo__title">개인통관번호</span></th>
<td>
<input type="hidden" id="cstmclerCd" class="dft" value="<c:out value="${dftDlvylc.cstmclerCd}"/>">
<%-- <span class="orderInfo__text cstmclerCd_ordrInfo_text"><c:out value="${dftDlvylc.cstmclerCd}"/></span>--%>
<c:if test="${dftDlvylc.dlvylcAreaCd eq 'KR'}">
<tr class="deliveryAddressDefault">
<th><span class="orderInfo__title">개인통관번호</span></th>
<td>
<input type="hidden" id="cstmclerCd" class="dft" value="<c:out value="${dftDlvylc.cstmclerCd}"/>">
<span class="orderInfo__text cstmclerCd_ordrInfo_text">
<c:choose>
<c:when test="${not empty dftDlvylc.cstmclerCd}">
<input type="text" name="cstmclerCd" maxlength="13" class="orderInfo__text cstmclerCd_ordrInfo_text" title="개인통관번호" value="<c:out value="${dftDlvylc.cstmclerCd}"/>" placeholder="배송지 관리에서 입력하세요.">
<c:out value="${dftDlvylc.cstmclerCd}"/>
</c:when>
<c:otherwise>
<input type="text" name="cstmclerCd" maxlength="13" class="orderInfo__text cstmclerCd_ordrInfo_text" title="개인통관번호" value="<c:out value="${dftDlvylc.cstmclerCd}"/>" placeholder="배송지 관리에서 입력하세요." readonly>
배송지 관리에서 입력하세요.
</c:otherwise>
</c:choose>
</tr>
</td>
</c:when>
<c:otherwise>
<input type="hidden" id="cstmclerCd" name="cstmclerCd" class="dft" value="<c:out value="${dftDlvylc.cstmclerCd}"/>">
</c:otherwise>
</c:choose>
</span>
</td>
</tr>
</c:if>
<!-- 기본 배송지 선택 시 End -->
<!-- 신규 배송지 선택 시 Start -->
<tr class="deliveryAddressNew" style="display:none;">
@@ -3806,9 +3816,8 @@
<input type="hidden" name="dlvylcAdresDvCd" class="new">
<input type="hidden" name="dlvylcLnbAdres" class="new">
<input type="hidden" name="dlvylcRnmAdres" class="new">
<input type="hidden" name="dlvylcAreaCd" class="new">
<input type="hidden" name="prefcd" class="new">
<input type="hidden" name="cstmclerCd" class="new">
<input type="hidden" name="dlvylcAreaCd" class="new rqrd" title="배송지역코드">
<input type="hidden" name="prefcd" class="new" title="도도부현코드">
</div>
</td>
</tr>
@@ -3821,7 +3830,7 @@
<tr class="deliveryAddressNew cstmclerArea" style="display:none;">
<th> <span class="orderInfo__title">개인통관번호</span></th>
<td>
<input type="text" name="cstmclerCd" maxlength="13" class="new rqrd input-text rqrd_gift" title="개인통관번호" placeholder="배송지 관리에서 입력하세요." readonly>
<input type="text" name="cstmclerCd" maxlength="13" class="new input-text" title="개인통관번호" placeholder="배송지 관리에서 입력하세요." readonly>
</td>
</tr>
<!-- 신규 배송지 선택 시 End -->

View File

@@ -58,7 +58,10 @@
/* 주문/배송 목록 화면 이동 버튼 선택 이벤트 */
$('#btnOrdrList').on('click', function() {
location.href = '<c:url value="/sopmal/mpage/ordr/selectMbrOrdrListInqire"/>';
const subsvcAt = '${data.order.subsvcAt}';
location.href = subsvcAt === 'Y'
? '<c:url value="/sopmal/mpage/ordr/selectMbrSubsvcOrdrListInqireRForm"/>'
: '<c:url value="/sopmal/mpage/ordr/selectMbrOrdrListInqire"/>';
});
}
@@ -94,6 +97,90 @@
<h2 class="cartOrder__title">주문완료</h2>
<div class="sub-right-content">
<c:choose>
<c:when test="${order.subsvcAt eq 'Y'}">
<div class="sub-right-content__section">
<div class="sub-right-content__section">
<div class="cartOrder__list">
<div class="table-wrapper">
<table class="table vertical">
<caption>주문상세내역</caption>
<colgroup>
<col style="width: auto;">
<col style="width: 40px;">
<col style="width: 10%;">
</colgroup>
<thead>
<tr>
<th>상품명</th>
<th>수량</th>
<th>상품금액</th>
<th>할인금액</th>
<th>할인적용금액</th>
<th>적립금</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${not empty data.goodsList}">
<c:forEach var="goods" items="${data.goodsList}">
<tr>
<td>
<div class="cartItem">
<div class="cartItem__image">
<img src="<c:out value="${cdnurl}${goods.goodsImgCours}"/>" onerror="this.src='/pc/images/image_placeholder.png'" alt="<c:out value="${goods.goodsNm}"/>">
</div>
<div class="cartItem__productInfo">
<a href="javascript:void(0);" class="cartItem__productTitle"><c:out value="${goods.goodsNm}"/></a>
<span class="cartItem__productOption"><span class="option-badge">옵션</span> <c:out value="${goods.optnNm}"/></span>
<c:if test="${not empty goods.inputOptnText}">
<span class="cartItem__productOption"><c:out value="${goods.inputOptnText}"/></span>
</c:if>
</div>
</div>
</td>
<td>
<span><fmt:formatNumber value="${goods.ordrQy}" pattern="#,###"/></span>
<input type="hidden" class="goodsInnb" name="goodsInnb" value ="${goods.goodsInnb}"/>
</td>
<td>
<span class="cartItem__normalPrice">
<span class=" comma"><fmt:formatNumber value="${goods.slepric}" pattern="#,###"/></span>
<span class="priceUnit">${curUnit}</span>
</span>
</td>
<td>
<span class="cartItem__discountPrice">
<span class="cartItem__discountMinus">(-)</span>
<span class="comma"><fmt:formatNumber value="${goods.dscntAmt}" pattern="#,###"/></span>
<span class="priceUnit">${curUnit}</span>
</span>
</td>
<td>
<span class="cartItem__afterPrice">
<span class="comma"><fmt:formatNumber value="${goods.applyDscntAmt}" pattern="#,###"/></span>
<span class="priceUnit">${curUnit}</span>
</span>
</td>
<td>
<span class="cartItem__mileage">
<span class=" comma"><fmt:formatNumber value="${goods.mlgAmt}" pattern="#,###"/></span>
<span class="priceUnit">${curUnit}</span>
</span>
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr><td colspan="100%" ><spring:message code="common.nodata"/></td></tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div>
</div>
</div>
</c:when>
<c:when test="${'04' == order.ordrTyCd || '05' == order.ordrTyCd}">
<div class="sub-right-content__section">
<c:choose>
@@ -335,44 +422,45 @@
</c:otherwise>
</c:choose>
<c:if test="${'04' != order.ordrTyCd && '05' != order.ordrTyCd}">
<c:if test="${order.subsvcAt eq 'Y' || '04' != order.ordrTyCd && '05' != order.ordrTyCd}">
<div class="sub-right-content__section">
<h3 class="sub-right-content__innerTitle">배송지 정보</h3>
<c:choose>
<c:when test="${not empty data.shippingList}">
<c:forEach var="shipping" items="${data.shippingList}" varStatus="status">
<div class="table-wrapper orderDetail__table">
<table class="table">
<caption>배송지 정보</caption>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th>받는분</th>
<td><c:out value="${shipping.recpntNm}"/></td>
</tr>
<tr>
<th>주소</th>
<td>
<c:out value="${not empty shipping.dlvylcZip ? '(' += shipping.dlvylcZip += ')' : ''}"/>
<c:out value="${shipping.adres}"/>
<c:out value="${shipping.dlvylcAdresDtl}"/>
</td>
</tr>
<tr>
<th>휴대폰번호</th>
<td><c:out value="${shipping.recpntMbtlnb}"/></td>
</tr>
<tr>
<th>배송 시 요청사항</th>
<td><c:out value="${shipping.dlvyMssageCn}"/></td>
</tr>
</tbody>
</table>
</div>
<c:if test="${order.subsvcAt ne 'Y' || status.first}">
<div class="table-wrapper orderDetail__table">
<table class="table">
<caption>배송지 정보</caption>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th>받는분</th>
<td><c:out value="${shipping.recpntNm}"/></td>
</tr>
<tr>
<th>주소</th>
<td>
<c:out value="${not empty shipping.dlvylcZip ? '(' += shipping.dlvylcZip += ')' : ''}"/>
<c:out value="${shipping.adres}"/>
<c:out value="${shipping.dlvylcAdresDtl}"/>
</td>
</tr>
<tr>
<th>휴대폰번호</th>
<td><c:out value="${shipping.recpntMbtlnb}"/></td>
</tr>
<tr>
<th>배송 시 요청사항</th>
<td><c:out value="${shipping.dlvyMssageCn}"/></td>
</tr>
</tbody>
</table>
</div>
</c:if>
</c:forEach>
</c:when>
<c:otherwise>

View File

@@ -58,6 +58,17 @@
history.replaceState(null, '', '/sopmal/ordr/selectMbrPurchsForm');
}
const subsvcInnb = $('#subsvcInnb').val();
if (!fn_is_empty(subsvcInnb)) {
$(form).attr('action', '<c:url value="/sopmal/ordr/selectSubsvcPurchsForm"/>');
$('<input>', {
type: 'hidden',
name: 'subsvcInnb',
value: subsvcInnb
}).appendTo(form);
history.replaceState(null, '', '/sopmal/ordr/selectSubsvcPurchsForm');
}
$(form).submit();
}
</script>
@@ -77,6 +88,7 @@
<c:forEach var="cartGoods" items="${data.cartGoodsList}">
<input type="hidden" name="cartInnbs" value="<c:out value="${cartGoods.cartInnb}"/>"/>
</c:forEach>
<input type="hidden" name="subsvcInnb" id="subsvcInnb" value="<c:out value="${paramVO.subsvcInnb}"/>"/>
</form>
<div class="sub-wrapper">
<div class="sub-content">

View File

@@ -118,6 +118,7 @@
<input type="hidden" name="sesion_id" value="${data.ordr.sesionId}" />
<input type="hidden" name="pg_cmpny_nm" value="${data.setle.pgCmpnyNm}" />
<input type="hidden" name="setle_ty_cd" value="${data.setle.setleTyCd}" />
<input type="hidden" name="subsvc_innb" value="${subsvcInnb}" />
<!-- 가상계좌 유효기간 -->
<c:set var="expireTerm" value="${data.setle.dueDt - 1}" />

View File

@@ -52,6 +52,7 @@
$(form).append($('<input/>', {type:'hidden', name:'mbrId', value:$('#mbrId').val()}));
$(form).append($('<input/>', {type:'hidden', name:'sesionId', value:$('#sesionId').val()}));
$(form).append($('<input/>', {type:'hidden', name:'message', value:$('#message').val()}));
$(form).append($('<input/>', {type:'hidden', name:'subsvcInnb', value:$('#subsvcInnb').val()}));
$(form).attr('method', 'post');
$(form).attr('action', '<c:url value="/sopmal/ordr/selectOrdrFailr"/>');
@@ -73,6 +74,7 @@
<input type="hidden" name="mbrInnb" id="mbrInnb" value="${paramVO.mbrInnb}"/>
<input type="hidden" name="mbrId" id="mbrId" value="${paramVO.mbrId}"/>
<input type="hidden" name="sesionId" id="sesionId" value="${paramVO.sesionId}"/>
<input type="hidden" name="subsvcInnb" id="subsvcInnb" value="${subsvcInnb}"/>
</form>
</body>
</html>

View File

@@ -53,6 +53,7 @@
$(form).append($('<input/>', {type:'hidden', name:'sesionId', value:$('#sesionId').val()}));
$(form).append($('<input/>', {type:'hidden', name:'message', value:$('#message').val()}));
$(form).append($('<input/>', {type:'hidden', name:'ordrTyCd', value:$('#ordrTyCd').val()}));
$(form).append($('<input/>', {type:'hidden', name:'subsvcInnb', value:$('#subsvcInnb').val()}));
$(form).attr('method', 'post');
$(form).attr('action', '<c:url value="/sopmal/ordr/selectOrdrFailr"/>');
@@ -75,6 +76,7 @@
<input type="hidden" name="mbrId" id="mbrId" value="${paramVO.mbrId}"/>
<input type="hidden" name="sesionId" id="sesionId" value="${paramVO.sesionId}"/>
<input type="hidden" name="ordrTyCd" id="ordrTyCd" value="${ordrTyCd}"/>
<input type="hidden" name="subsvcInnb" id="subsvcInnb" value="${subsvcInnb}"/>
</form>
</body>
</html>

View File

@@ -2719,11 +2719,8 @@
const title = $(this).attr('title');
if (fn_is_empty(val) && (name === 'recpntNm' || name === 'recpntMbtlnb')) {
alert(title + '을 입력해 주십시요');
$('#dlvylcForm').find('input[name="' + name + '"]').focus();
alert(title + '을 입력해 주십시오');
isValid = false;
return false;
@@ -2734,49 +2731,65 @@
} else {
// console.log("dlvylcDvCd : ",dlvylcDvCd);
if ('New' === dlvylcDvCd) {
const dlvylcAreaCd2 = $('#dlvylcForm').find('input[name="dlvylcAreaCd"]').val();
console.log("dlvylcAreaCd(new) : ",dlvylcAreaCd2);
const requiredMap = {
KR: 'cstmclerCd',
JP: 'prefcd'
};
if ('New' === dlvylcDvCd) {
const dlvylcAreaCdNew = $('#dlvylcForm').find('input[name="dlvylcAreaCd"]').val();
// console.log("dlvylcAreaCd(new) : ",dlvylcAreaCdNew);
$('#dlvylcForm').find('.rqrd').each(function () {
const val = $(this).val();
if (fn_is_empty(val)) {
const name = $(this).attr('name');
if('JP' !== dlvylcAreaCd2 || 'cstmclerCd' !== name ) {
const title = $(this).attr('title');
alert(title + '을 입력해 주십시요');
$('#dlvylcForm').find('input[name="' + name + '"]').focus();
isValid = false;
return false;
}
}
});
} else {
const dlvylcAreaCd = $('#dlvylcAreaCd').val();
// console.log("dlvylcAreaCd(dft) : ",dlvylcAreaCd);
if('KR' === dlvylcAreaCd){
// console.log("KR");
const val = $('#cstmclerCd').val();
if (fn_is_empty(val)) {
alert('개인통관번호를 입력해 주십시오');
const title = $(this).attr('title');
$('#dlvylcForm').find('input[name="' + name + '"]').focus();
alert(title + '을 입력해 주십시오');
isValid = false;
return false;
}
});
const required = requiredMap[dlvylcAreaCdNew];
if (required) {
const $input = $('input.new[name="' + required + '"]');
const title = $input.attr('title');
const value = $input.val();
if (fn_is_empty(value)) {
alert(title + '을 입력해 주십시오');
isValid = false;
return false;
}
}
} else {
const dlvylcAreaCd = $('#dlvylcAreaCd').val();
// console.log("dlvylcAreaCd(dft) : ",dlvylcAreaCd);
const required = requiredMap[dlvylcAreaCd];
if (required) {
const $input = $('input.new[name="' + required + '"]');
const title = $input.attr('title');
const value = $input.val();
if (fn_is_empty(value)) {
alert(title + '을 입력해 주십시오');
isValid = false;
return false;
}
} else {
alert('배송지역코드를 입력해 주십시오');
isValid = false;
return false;
}
}
}
@@ -2823,7 +2836,7 @@
let name = $(this).attr('name');
let title = $(this).attr('title');
alert(title + '을 입력해 주십시요');
alert(title + '을 입력해 주십시오');
$(form).find('input[name="' + name + '"]').focus();
@@ -2898,7 +2911,7 @@
const id = $(this).attr('id');
const title = $(this).attr('title');
alert(title + ' 항목을 입력해 주십시요');
alert(title + ' 항목을 입력해 주십시오');
$('#' + id).focus();
@@ -2950,7 +2963,7 @@
if (fn_is_empty(pgCmpnyNm)) {
alert('결제유형을 선택해 주십시요.');
alert('결제유형을 선택해 주십시오.');
return false;
}
@@ -2959,7 +2972,7 @@
const div = $('#setleForm').find('.order-method-normal');
if (!$(div).find('.order-method-normal__btn-container button').hasClass('active')) {
alert('결제방법을 선택해 주십시요.');
alert('결제방법을 선택해 주십시오.');
isValid = false;
@@ -2971,7 +2984,7 @@
const input = $(div).find('#rcpmnyerNm');
if (fn_is_empty($(input).val())) {
alert($(input).attr('title') + ' 항목을 입력해 주십시요');
alert($(input).attr('title') + ' 항목을 입력해 주십시오');
$('#' + $(input).attr('id')).focus();
@@ -2983,7 +2996,7 @@
const rcpmnyAcntnb = $(div).find('#rcpmnyAcntnb option:selected');
if (fn_is_empty($(rcpmnyAcntnb).val())) {
alert($(div).find('#rcpmnyAcntnb').attr('title') + ' 항목을 선택해 주십시요');
alert($(div).find('#rcpmnyAcntnb').attr('title') + ' 항목을 선택해 주십시오');
return false;
}
@@ -3007,7 +3020,7 @@
const input = $(div).find('#' + id);
if (fn_is_empty($(input).val())) {
alert($(div).find('#' + id).attr('title') + ' 항목을 입력해 주십시요');
alert($(div).find('#' + id).attr('title') + ' 항목을 입력해 주십시오');
$(div).find('#' + id).focus();
@@ -3028,7 +3041,7 @@
const input = $(content).find('#' + id);
if (fn_is_empty($(input).val())) {
alert($(content).find('#' + id).attr('title') + ' 항목을 입력해 주십시요');
alert($(content).find('#' + id).attr('title') + ' 항목을 입력해 주십시오');
$(content).find('#' + id).focus();
@@ -3087,7 +3100,7 @@
const input = $(content).find('#' + id);
if (fn_is_empty($(input).val())) {
alert($(content).find('#' + id).attr('title') + ' 항목을 입력해 주십시요');
alert($(content).find('#' + id).attr('title') + ' 항목을 입력해 주십시오');
$(content).find('#' + id).focus();
@@ -3653,28 +3666,24 @@
<span class="orderInfo__text recpntMbtlnb_ordrInfo_text"><c:out value="${dftDlvylc.mbtlnb}"/></span>
</td>
</tr>
<c:choose>
<c:when test="${dftDlvylc.dlvylcAreaCd eq 'KR'}">
<tr class="deliveryAddressDefault">
<th><span class="orderInfo__title">개인통관번호</span></th>
<td>
<input type="hidden" id="cstmclerCd" class="dft" value="<c:out value="${dftDlvylc.cstmclerCd}"/>">
<%-- <span class="orderInfo__text cstmclerCd_ordrInfo_text"><c:out value="${dftDlvylc.cstmclerCd}"/></span>--%>
<c:if test="${dftDlvylc.dlvylcAreaCd eq 'KR'}">
<tr class="deliveryAddressDefault">
<th><span class="orderInfo__title">개인통관번호</span></th>
<td>
<input type="hidden" id="cstmclerCd" class="dft" value="<c:out value="${dftDlvylc.cstmclerCd}"/>">
<span class="orderInfo__text cstmclerCd_ordrInfo_text">
<c:choose>
<c:when test="${not empty dftDlvylc.cstmclerCd}">
<input type="text" name="cstmclerCd" maxlength="13" class="orderInfo__text cstmclerCd_ordrInfo_text" title="개인통관번호" value="<c:out value="${dftDlvylc.cstmclerCd}"/>" placeholder="배송지 관리에서 입력하세요.">
</c:when>
<c:otherwise>
<input type="text" name="cstmclerCd" maxlength="13" class="orderInfo__text cstmclerCd_ordrInfo_text" title="개인통관번호" value="<c:out value="${dftDlvylc.cstmclerCd}"/>" placeholder="배송지 관리에서 입력하세요." readonly>
</c:otherwise>
<c:when test="${not empty dftDlvylc.cstmclerCd}">
<c:out value="${dftDlvylc.cstmclerCd}"/>
</c:when>
<c:otherwise>
배송지 관리에서 입력하세요.
</c:otherwise>
</c:choose>
</tr>
</span>
</td>
</c:when>
<c:otherwise>
<input type="hidden" id="cstmclerCd" name="cstmclerCd" class="dft" value="<c:out value="${dftDlvylc.cstmclerCd}"/>">
</c:otherwise>
</c:choose>
</tr>
</c:if>
<!-- 기본 배송지 선택 시 End -->
<!-- 신규 배송지 선택 시 Start -->
<tr class="deliveryAddressNew" style="display:none;">
@@ -3695,9 +3704,8 @@
<input type="hidden" name="dlvylcAdresDvCd" class="new">
<input type="hidden" name="dlvylcLnbAdres" class="new">
<input type="hidden" name="dlvylcRnmAdres" class="new">
<input type="hidden" name="dlvylcAreaCd" class="new">
<input type="hidden" name="prefcd" class="new">
<input type="hidden" name="cstmclerCd" class="new">
<input type="hidden" name="dlvylcAreaCd" class="new rqrd" title="배송지역코드">
<input type="hidden" name="prefcd" class="new" title="도도부현코드">
</div>
</td>
</tr>
@@ -3710,7 +3718,7 @@
<tr class="deliveryAddressNew cstmclerArea" style="display:none;">
<th> <span class="orderInfo__title">개인통관번호</span></th>
<td>
<input type="text" name="cstmclerCd" maxlength="13" class="new rqrd input-text rqrd_gift" title="개인통관번호" placeholder="배송지 관리에서 입력하세요." readonly>
<input type="text" name="cstmclerCd" maxlength="13" class="new input-text" title="개인통관번호" placeholder="배송지 관리에서 입력하세요." readonly>
</td>
</tr>
<!-- 신규 배송지 선택 시 End -->

View File

@@ -39,7 +39,10 @@
/* 주문/배송 목록 화면 이동 버튼 선택 이벤트 */
$('#btnOrdrList').on('click', function() {
location.href = '<c:url value="/sopmal/mpage/ordr/selectMbrOrdrListInqire"/>';
const subsvcAt = '${data.order.subsvcAt}';
location.href = subsvcAt === 'Y'
? '<c:url value="/sopmal/mpage/ordr/selectMbrSubsvcOrdrListInqireRForm"/>'
: '<c:url value="/sopmal/mpage/ordr/selectMbrOrdrListInqire"/>';
});
/* 주문번호 복사 버튼 선택 이벤트 */
@@ -152,7 +155,7 @@
</div>
</div>
<c:choose>
<c:when test="${'04' != order.ordrTyCd && '05' != order.ordrTyCd}">
<c:when test="${order.subsvcAt eq 'Y' || '04' != order.ordrTyCd && '05' != order.ordrTyCd}">
<div class="sub-box">
<div class="orderDetailProduct">
<div class="orderDetailProduct__top" role="button" tabindex="0">
@@ -164,38 +167,40 @@
<c:choose>
<c:when test="${not empty data.shippingList}">
<c:forEach var="shipping" items="${data.shippingList}" varStatus="status">
<div class="table-wrapper orderDetail__table">
<table class="table">
<colgroup>
<col style="width: 40%">
<col style="width: 60%">
</colgroup>
<tbody>
<tr>
<th>받는분</th>
<td><c:out value="${shipping.recpntNm}"/></td>
</tr>
<tr>
<th>주소</th>
<td>
<span class="orderDetail__table__address">
<c:out value="${not empty shipping.dlvylcZip ? '(' += shipping.dlvylcZip += ')' : ''}"/>
<c:out value="${shipping.adres}"/>
<c:out value="${shipping.dlvylcAdresDtl}"/>
</span>
</td>
</tr>
<tr>
<th>휴대폰번호</th>
<td><c:out value="${shipping.recpntMbtlnb}"/></td>
</tr>
<tr>
<th>배송 시 요청사항</th>
<td><c:out value="${shipping.dlvyMssageCn}"/></td>
</tr>
</tbody>
</table>
</div>
<c:if test="${order.subsvcAt ne 'Y' || status.first}">
<div class="table-wrapper orderDetail__table">
<table class="table">
<colgroup>
<col style="width: 40%">
<col style="width: 60%">
</colgroup>
<tbody>
<tr>
<th>받는분</th>
<td><c:out value="${shipping.recpntNm}"/></td>
</tr>
<tr>
<th>주소</th>
<td>
<span class="orderDetail__table__address">
<c:out value="${not empty shipping.dlvylcZip ? '(' += shipping.dlvylcZip += ')' : ''}"/>
<c:out value="${shipping.adres}"/>
<c:out value="${shipping.dlvylcAdresDtl}"/>
</span>
</td>
</tr>
<tr>
<th>휴대폰번호</th>
<td><c:out value="${shipping.recpntMbtlnb}"/></td>
</tr>
<tr>
<th>배송 시 요청사항</th>
<td><c:out value="${shipping.dlvyMssageCn}"/></td>
</tr>
</tbody>
</table>
</div>
</c:if>
</c:forEach>
</c:when>
</c:choose>

View File

@@ -51,6 +51,17 @@
history.replaceState(null, '', '/sopmal/ordr/selectMbrPurchsForm');
}
const subsvcInnb = $('#subsvcInnb').val();
if (!fn_is_empty(subsvcInnb)) {
$(form).attr('action', '<c:url value="/sopmal/ordr/selectSubsvcPurchsForm"/>');
$('<input>', {
type: 'hidden',
name: 'subsvcInnb',
value: subsvcInnb
}).appendTo(form);
history.replaceState(null, '', '/sopmal/ordr/selectSubsvcPurchsForm');
}
$(form).submit();
}
</script>
@@ -74,6 +85,7 @@
<c:forEach var="cartGoods" items="${data.cartGoodsList}">
<input type="hidden" name="cartInnbs" value="<c:out value="${cartGoods.cartInnb}"/>"/>
</c:forEach>
<input type="hidden" name="subsvcInnb" id="subsvcInnb" value="<c:out value="${paramVO.subsvcInnb}"/>"/>
</form>
<div class="sub-page">
<div class="orderFailed">