배송조회(운송장번호 조회) - aciExpress 팝업 적용
>> 쇼핑몰 주문/배송 > 주문 상세
This commit is contained in:
@@ -500,7 +500,7 @@ public class BODlivyService {
|
|||||||
|
|
||||||
RestTemplate restTemplate = new RestTemplate();
|
RestTemplate restTemplate = new RestTemplate();
|
||||||
ResponseEntity<String> response = restTemplate.exchange(
|
ResponseEntity<String> response = restTemplate.exchange(
|
||||||
"https://acieshop.com/api/kr/pod/v1.5/",
|
"https://acieshop.com/api/kr/token/",
|
||||||
HttpMethod.POST,
|
HttpMethod.POST,
|
||||||
apiRequest,
|
apiRequest,
|
||||||
String.class
|
String.class
|
||||||
@@ -543,14 +543,14 @@ public class BODlivyService {
|
|||||||
headers.set("ACIKey", aciKey);
|
headers.set("ACIKey", aciKey);
|
||||||
|
|
||||||
Map<String, Object> body = new HashMap<>();
|
Map<String, Object> body = new HashMap<>();
|
||||||
body.put("BLNO", mapper.selectBOOrdrInvcnb(boDlivyVO));
|
body.put("BLNO", List.of(mapper.selectBOOrdrInvcnb(boDlivyVO)));
|
||||||
|
|
||||||
HttpEntity<Map<String, Object>> apiRequest =
|
HttpEntity<Map<String, Object>> apiRequest =
|
||||||
new HttpEntity<>(body, headers);
|
new HttpEntity<>(body, headers);
|
||||||
|
|
||||||
RestTemplate restTemplate = new RestTemplate();
|
RestTemplate restTemplate = new RestTemplate();
|
||||||
ResponseEntity<String> response = restTemplate.exchange(
|
ResponseEntity<String> response = restTemplate.exchange(
|
||||||
"ex",
|
"https://acieshop.com/api/kr/pod/v1.5/",
|
||||||
HttpMethod.POST,
|
HttpMethod.POST,
|
||||||
apiRequest,
|
apiRequest,
|
||||||
String.class
|
String.class
|
||||||
|
|||||||
@@ -728,26 +728,22 @@ public class MyOrdrController {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Policy(AuthPolicy.PUBLIC)
|
@Policy(AuthPolicy.PUBLIC)
|
||||||
// @RequestMapping(value="/selectDlvyInqire")
|
@RequestMapping(value="/selectDlvyInqire")
|
||||||
// public String selectDlvyInqire(BODlivyVO boDlivyVO, ModelMap model, HttpServletRequest request){
|
public String selectDlvyInqire(BODlivyVO boDlivyVO, ModelMap model, HttpServletRequest request){
|
||||||
@RequestMapping(value="/selectDlvyInqire", produces = MediaType.APPLICATION_JSON_VALUE)
|
|
||||||
public ResponseEntity<WnbtResponse> selectDlvyInqire(BODlivyVO boDlivyVO){
|
|
||||||
// 작성자 정보 할당
|
// 작성자 정보 할당
|
||||||
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||||
if("01".equals(user.getSysDvCd())){
|
if("01".equals(user.getSysDvCd())){
|
||||||
boDlivyVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드
|
boDlivyVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드
|
||||||
}
|
}
|
||||||
|
|
||||||
// model.addAttribute("resultMap", dlivyService.updateBOAciDelivery(boDlivyVO));
|
BOOrdrDlvyVO ordrDlvyVO = new BOOrdrDlvyVO();
|
||||||
// return Util.getDeviceType(request) + "/mpage/ordr/DlvyInqireR";
|
ordrDlvyVO.setSopmalCd(boDlivyVO.getSopmalCd());
|
||||||
|
ordrDlvyVO.setOrdrInnb(boDlivyVO.getOrdrInnb());
|
||||||
|
|
||||||
DataMap content = new DataMap();
|
model.addAttribute("ordrInfo", boOrdrService.selectMbrOrdrDtlInqire(ordrDlvyVO));
|
||||||
content.put("invcnb", dlivyService.selectBOOrdrInvcnb(boDlivyVO));
|
model.addAttribute("resultMap", dlivyService.updateBOAciDelivery(boDlivyVO));
|
||||||
return ResponseEntity.ok(
|
|
||||||
WnbtResponse.builder()
|
return Util.getDeviceType(request) + "/mpage/ordr/DlvyInqireR";
|
||||||
.resBody(new WnbtResponseBody(content))
|
|
||||||
.build()
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -8,124 +8,222 @@
|
|||||||
|
|
||||||
|
|
||||||
<%--
|
<%--
|
||||||
Class Name : WslistInqireR.jsp
|
Class Name : DlvyInqireR.jsp
|
||||||
Description : 마이페이지 위시리스트
|
Description : 배송 조회 팝업 모달
|
||||||
Modification Information
|
Modification Information
|
||||||
|
|
||||||
수정일 수정자 수정내용
|
수정일 수정자 수정내용
|
||||||
------- -------- ---------------------------
|
------- -------- ---------------------------
|
||||||
2024-03-27 추지훈 최초 생성
|
2024-03-27 추지훈 최초 생성
|
||||||
|
2026-07-06 이대환 수정
|
||||||
--%>
|
--%>
|
||||||
<!-- 모달 -->
|
<!-- 모달 -->
|
||||||
|
<style>
|
||||||
|
.statusEn {
|
||||||
|
font-size: 12px;
|
||||||
|
color: #50514f;
|
||||||
|
}
|
||||||
|
.deliveryStatus th,
|
||||||
|
.deliveryStatus td {
|
||||||
|
border: 1px solid #dee2e6 !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
<!-- 배송 조회 -->
|
<!-- 배송 조회 -->
|
||||||
<div id="delivery-check-pop" class="modal default" style="max-width: 640px;">
|
<div id="delivery-check-pop" class="modal default" style="max-width: 640px;">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<div class="modal-header__title">배송 조회</div>
|
<div class="modal-header__title">배송 조회</div>
|
||||||
</div>
|
</div>
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${ not empty resultMap.resultList && fn:length(resultMap.resultList) > 0 }">
|
<c:when test="${ not empty resultMap && resultMap.status eq 'success' }">
|
||||||
<c:forEach var="list" items="${ resultMap.resultList }" varStatus="status">
|
<c:set var="podInfo" value="${resultMap.podInfo[0]}"/>
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="table-wrapper">
|
<div class="table-wrapper">
|
||||||
<table class="table deliveryInfo">
|
<table class="table deliveryInfo">
|
||||||
<caption>해당 테이블에 대한 설명</caption>
|
<caption>주문 상세</caption>
|
||||||
<!-- 각 열 width 설정 -->
|
<!-- 각 열 width 설정 -->
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col style="width: 20%;">
|
<col style="width: 20%;">
|
||||||
<col style="width: auto;">
|
<col style="width: auto;">
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th>
|
<th>송장번호</th>
|
||||||
주문자
|
<td><c:out value="${ podInfo.blno }"/></td>
|
||||||
</th>
|
</tr>
|
||||||
<td>
|
<tr>
|
||||||
<c:out value="${ resultMap.result.ordrrNm }"/>
|
<th>주문자</th>
|
||||||
</td>
|
<td><c:out value="${ ordrInfo.shippingList[0].recpntNm }"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>
|
<th>수령인</th>
|
||||||
수령인
|
<td><c:out value="${ podInfo.recipient }"/></td>
|
||||||
</th>
|
</tr>
|
||||||
<td>
|
</tbody>
|
||||||
<c:out value="${ list.recpntNm }"/>
|
</table>
|
||||||
</td>
|
</div>
|
||||||
</tr>
|
|
||||||
<tr>
|
<p>>> 국내 입항보고</p>
|
||||||
<th>
|
<div class="table-wrapper">
|
||||||
배송지
|
<table class="table deliveryStatus">
|
||||||
</th>
|
<caption>입항 상세</caption>
|
||||||
<td><c:if test="${ not empty list.dlvylcZip }">(<c:out value="${ list.dlvylcZip }"/>)</c:if>
|
<!-- 각 열 width 설정 -->
|
||||||
<c:choose>
|
<colgroup>
|
||||||
<c:when test="${ list.dlvylcAdresDvCd eq '01'}">
|
<col style="width: 20%;">
|
||||||
<c:out value="${ list.dlvylcRnmAdres }"/>
|
<col style="width: 5%;">
|
||||||
</c:when>
|
<col style="width: auto;">
|
||||||
<c:when test="${ list.dlvylcAdresDvCd eq '02'}">
|
</colgroup>
|
||||||
<c:out value="${ list.dlvylcLnbAdres }"/>
|
<thead>
|
||||||
</c:when>
|
<tr>
|
||||||
</c:choose>
|
<th>처리일시</th>
|
||||||
<c:out value="${ list.dlvylcAdresDtl }"/>
|
<th>상품위치</th>
|
||||||
</td>
|
<th>배송상태</th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
</thead>
|
||||||
<th>
|
<tbody>
|
||||||
택배사
|
<c:if test="${ not empty podInfo.dateLocalwhin }">
|
||||||
</th>
|
<tr>
|
||||||
<td>
|
<td><c:out value="${ podInfo.dateLocalwhin }"/></td>
|
||||||
<c:out value="${ list.hdrycpnNm }"/>
|
<td></td>
|
||||||
</td>
|
<td>
|
||||||
</tr>
|
발송물이 픽업되어, 공항출항 대기중입니다.
|
||||||
<tr>
|
<p class="statusEn">Shipment pick up and waiting at the origin airport</p>
|
||||||
<th>
|
</td>
|
||||||
송장번호
|
</tr>
|
||||||
</th>
|
</c:if>
|
||||||
<td><c:out value="${ list.invcnb }"/></td><!-- TODO : 주문 목록에 붙여서 파라미터로 받은 송장번호 출력 -->
|
<c:if test="${ not empty podInfo.dateLocaldeparture }">
|
||||||
</tr>
|
<tr>
|
||||||
</tbody>
|
<td><c:out value="${ podInfo.dateLocaldeparture }"/></td>
|
||||||
</table>
|
<td></td>
|
||||||
</div>
|
<td>
|
||||||
<div class="table-wrapper">
|
화물이 인천공항으로 출발하였습니다.
|
||||||
<table class="table deliveryStatus">
|
<p class="statusEn">Shipment departed to Incheon International Airport</p>
|
||||||
<caption>해당 테이블에 대한 설명</caption>
|
</td>
|
||||||
<!-- 각 열 width 설정 -->
|
</tr>
|
||||||
<colgroup>
|
</c:if>
|
||||||
<col style="width: 30%;">
|
<c:if test="${ not empty podInfo.dateIcnarrival }">
|
||||||
<col style="width: 30%;">
|
<tr>
|
||||||
<col style="width: auto;">
|
<td><c:out value="${ podInfo.dateIcnarrival }"/></td>
|
||||||
</colgroup>
|
<td>인천공항</td>
|
||||||
<thead>
|
<td>
|
||||||
<tr>
|
화물이 인천공항에 도착하였습니다.
|
||||||
<th>처리일시</th>
|
<p class="statusEn">Shipped the goods arrived at Incheon International Airport.</p>
|
||||||
<th>상품위치</th>
|
</td>
|
||||||
<th>배송상태</th>
|
</tr>
|
||||||
</tr>
|
</c:if>
|
||||||
</thead>
|
<c:if test="${ not empty podInfo.dateCustomes }">
|
||||||
<tbody>
|
<tr>
|
||||||
<c:forEach var="trackingList" items="${ list.trackingDetails }" varStatus="status">
|
<td><c:out value="${ podInfo.dateCustomes }"/></td>
|
||||||
<tr>
|
<td>인천공항</td>
|
||||||
<td><c:out value="${ trackingList.time }"/></td>
|
<td>
|
||||||
<td>
|
인천공항 세관에서 통관완료되었습니다.
|
||||||
<c:out value="${ trackingList.where }"/>
|
<p class="statusEn">Customs clearance is completed in the Republic of Korea</p>
|
||||||
</td>
|
</td>
|
||||||
<td><c:out value="${ trackingList.kind }"/></td>
|
</tr>
|
||||||
</tr>
|
</c:if>
|
||||||
</c:forEach>
|
</tbody>
|
||||||
</tbody>
|
</table>
|
||||||
</table>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
<c:if test="${ not empty podInfo.customs }">
|
||||||
</c:forEach>
|
<p>>> 통관 조회</p>
|
||||||
</c:when>
|
<c:forEach var="customOne" items="${ podInfo.customs }" varStatus="status">
|
||||||
<c:otherwise>
|
<div class="table-wrapper">
|
||||||
<div class="couponList">
|
<table class="table deliveryStatus">
|
||||||
<div class="couponList__no-result">
|
<caption>통관 상세</caption>
|
||||||
<img src="<c:url value="/pc/images/icon__no-result.png"/>" alt="">
|
<!-- 각 열 width 설정 -->
|
||||||
<p class="orderList__no-result-text">배송 조회 내역이 없습니다.</p>
|
<colgroup>
|
||||||
</div>
|
<col style="width: 20%;">
|
||||||
</div>
|
<col style="width: auto;">
|
||||||
</c:otherwise>
|
</colgroup>
|
||||||
</c:choose>
|
<thead>
|
||||||
<div class="modal-footer">
|
<tr>
|
||||||
<a href="#" rel="modal:close" class="btn large outline">닫기</a>
|
<th>처리일시</th>
|
||||||
</div>
|
<th>처리상태</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:forEach var="customDetail" items="${ customOne }" varStatus="status">
|
||||||
|
<tr>
|
||||||
|
<td><c:out value="${ customDetail.dateEvent }"/></td>
|
||||||
|
<td><c:out value="${ customDetail.traceStatus }"/></td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</c:forEach>
|
||||||
|
</c:if>
|
||||||
|
|
||||||
|
|
||||||
|
<c:if test="${ not empty podInfo.localPod }">
|
||||||
|
<p>>> 우체국 배송 조회</p>
|
||||||
|
<div class="table-wrapper">
|
||||||
|
<table class="table deliveryStatus">
|
||||||
|
<caption>배송 상세</caption>
|
||||||
|
<!-- 각 열 width 설정 -->
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 20%;">
|
||||||
|
<col style="width: 35%;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>처리일시</th>
|
||||||
|
<th>현재위치</th>
|
||||||
|
<th>처리현황</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:forEach var="localPod" items="${ podInfo.localPod }" varStatus="status">
|
||||||
|
<tr>
|
||||||
|
<td><c:out value="${ localPod.dateEvent }"/></td>
|
||||||
|
<td><c:out value="${ localPod.position }"/></td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${ localPod.traceStatus }"/>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${ localPod.traceStatus eq '접수' }">
|
||||||
|
<p class="statusEn">HANDED OVER TO KP</p>
|
||||||
|
</c:when>
|
||||||
|
<c:when test="${ localPod.traceStatus eq '발송' }">
|
||||||
|
<p class="statusEn">MOVE TO DEPOT</p>
|
||||||
|
</c:when>
|
||||||
|
<c:when test="${ localPod.traceStatus eq '도착' }">
|
||||||
|
<p class="statusEn">ARR. AT DEPOT</p>
|
||||||
|
</c:when>
|
||||||
|
<c:when test="${ localPod.traceStatus eq '배달준비' }">
|
||||||
|
<p class="statusEn">HANDED OVER TO POST MAN</p>
|
||||||
|
</c:when>
|
||||||
|
<c:when test="${ localPod.traceStatus eq '배달완료' }">
|
||||||
|
<c:set var="dlivyCompt" value="true"/>
|
||||||
|
<p class="statusEn">DELIVERED TO CNEE</p>
|
||||||
|
</c:when>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
<c:if test="${ dlivyCompt }">
|
||||||
|
<tr>
|
||||||
|
<td colspan="3" style="text-align: center;">
|
||||||
|
배송완료 - 수령인 : <c:out value="${ podInfo.recipient }"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:if>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</c:if>
|
||||||
|
</div>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<div class="couponList">
|
||||||
|
<div class="couponList__no-result">
|
||||||
|
<img src="<c:url value="/pc/images/icon__no-result.png"/>" alt="">
|
||||||
|
<p class="orderList__no-result-text">배송 조회 내역이 없습니다.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<a href="#" rel="modal:close" class="btn large outline">닫기</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -731,21 +731,18 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* 배송조회 팝업 화면 호출 */
|
/* 배송조회 팝업 화면 호출 */
|
||||||
const fn_open_dlvy_popup = function (ordrDlvyInnb) {
|
const fn_open_dlvy_popup = function (ordrInnb, ordrDlvyInnb) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type:'post',
|
type:'post',
|
||||||
url:'<c:url value="/sopmal/mpage/ordr/selectDlvyInqire"/>',
|
url:'<c:url value="/sopmal/mpage/ordr/selectDlvyInqire"/>',
|
||||||
data:{
|
data:{
|
||||||
|
ordrInnb:ordrInnb,
|
||||||
ordrDlvyInnb:ordrDlvyInnb
|
ordrDlvyInnb:ordrDlvyInnb
|
||||||
},
|
},
|
||||||
success:function (data) {
|
success:function (data) {
|
||||||
// $('#modalDiv').html(data);
|
$('#modalDiv').html(data);
|
||||||
//
|
|
||||||
// $('#delivery-check-pop').remove().modal();
|
|
||||||
|
|
||||||
let invcnb = JSON.parse(data.resBody.result).invcnb;
|
$('#delivery-check-pop').remove().modal();
|
||||||
let url = 'https://www.acieshop.com/pod.php?OrderNo=' + invcnb;
|
|
||||||
window.open(url, 'acieView', 'width=605,height=700');
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -1332,7 +1329,7 @@
|
|||||||
</c:if>
|
</c:if>
|
||||||
</c:when>
|
</c:when>
|
||||||
<c:when test="${goods.ordrSttusCd > 54 && goods.ordrSttusCd < 76 && order.sknEnvrnCd ne 'POS'}">
|
<c:when test="${goods.ordrSttusCd > 54 && goods.ordrSttusCd < 76 && order.sknEnvrnCd ne 'POS'}">
|
||||||
<a href="javascript:void(0);" onclick="fn_open_dlvy_popup('<c:out value="${goods.ordrDlvyInnb}"/>');" id="inqireDlvy" class="btn-ordr-sttus btn outline sm full">배송조회</a>
|
<a href="javascript:void(0);" onclick="fn_open_dlvy_popup('<c:out value="${goods.ordrInnb}"/>', '<c:out value="${goods.ordrDlvyInnb}"/>');" id="inqireDlvy" class="btn-ordr-sttus btn outline sm full">배송조회</a>
|
||||||
<a href="javascript:void(0);" id="reqstRefund" class="btn-ordr-sttus btn gray sm full" onclick="fn_pop_m2mqna_regist('<c:out value="${order.ordrInnb}"/>');">반품신청</a>
|
<a href="javascript:void(0);" id="reqstRefund" class="btn-ordr-sttus btn gray sm full" onclick="fn_pop_m2mqna_regist('<c:out value="${order.ordrInnb}"/>');">반품신청</a>
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${goods.itemOrdrSttusCd > 54 && goods.itemOrdrSttusCd < 76 && goods.purchsDcsnAt eq 'N'}">
|
<c:when test="${goods.itemOrdrSttusCd > 54 && goods.itemOrdrSttusCd < 76 && goods.purchsDcsnAt eq 'N'}">
|
||||||
@@ -1481,7 +1478,7 @@
|
|||||||
<a href="javascript:void(0);" id="reqstRefund" class="btn-ordr-sttus btn gray sm full" onclick="fn_pop_m2mqna_regist('<c:out value="${order.ordrInnb}"/>');">반품신청</a>
|
<a href="javascript:void(0);" id="reqstRefund" class="btn-ordr-sttus btn gray sm full" onclick="fn_pop_m2mqna_regist('<c:out value="${order.ordrInnb}"/>');">반품신청</a>
|
||||||
</c:when>
|
</c:when>
|
||||||
<c:when test="${goods.ordrSttusCd > 54 && goods.ordrSttusCd < 76 && order.sknEnvrnCd ne 'POS'}">
|
<c:when test="${goods.ordrSttusCd > 54 && goods.ordrSttusCd < 76 && order.sknEnvrnCd ne 'POS'}">
|
||||||
<a href="javascript:void(0);" onclick="fn_open_dlvy_popup('<c:out value="${goods.ordrDlvyInnb}"/>');" id="inqireDlvy" class="btn-ordr-sttus btn outline sm full">배송조회</a>
|
<a href="javascript:void(0);" onclick="fn_open_dlvy_popup('<c:out value="${goods.ordrInnb}"/>', '<c:out value="${goods.ordrDlvyInnb}"/>');" id="inqireDlvy" class="btn-ordr-sttus btn outline sm full">배송조회</a>
|
||||||
<a href="javascript:void(0);" id="reqstRefund" class="btn-ordr-sttus btn gray sm full" onclick="fn_pop_m2mqna_regist('<c:out value="${order.ordrInnb}"/>');">반품신청</a>
|
<a href="javascript:void(0);" id="reqstRefund" class="btn-ordr-sttus btn gray sm full" onclick="fn_pop_m2mqna_regist('<c:out value="${order.ordrInnb}"/>');">반품신청</a>
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${goods.itemOrdrSttusCd > 54 && goods.itemOrdrSttusCd < 76 && goods.purchsDcsnAt eq 'N'}">
|
<c:when test="${goods.itemOrdrSttusCd > 54 && goods.itemOrdrSttusCd < 76 && goods.purchsDcsnAt eq 'N'}">
|
||||||
|
|||||||
@@ -8,15 +8,26 @@
|
|||||||
|
|
||||||
|
|
||||||
<%--
|
<%--
|
||||||
Class Name : WslistInqireR.jsp
|
Class Name : DlvyInqireR.jsp
|
||||||
Description : 배송 추적
|
Description : 배송 추적
|
||||||
Modification Information
|
Modification Information
|
||||||
|
|
||||||
수정일 수정자 수정내용
|
수정일 수정자 수정내용
|
||||||
------- -------- ---------------------------
|
------- -------- ---------------------------
|
||||||
2024-03-27 추지훈 최초 생성
|
2024-03-27 추지훈 최초 생성
|
||||||
|
2026-07-06 이대환 수정
|
||||||
--%>
|
--%>
|
||||||
<!-- 모달 -->
|
<!-- 모달 -->
|
||||||
|
<style>
|
||||||
|
.statusEn {
|
||||||
|
font-size: 12px;
|
||||||
|
color: #50514f;
|
||||||
|
}
|
||||||
|
.deliveryStatus th,
|
||||||
|
.deliveryStatus td {
|
||||||
|
border: 1px solid #dee2e6 !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
<!-- 배송 정보 -->
|
<!-- 배송 정보 -->
|
||||||
<div class="microModal microBottomSheet" id="deliveryInfoPop" aria-hidden="true">
|
<div class="microModal microBottomSheet" id="deliveryInfoPop" aria-hidden="true">
|
||||||
<div class="microModal__overlay" tabindex="-1">
|
<div class="microModal__overlay" tabindex="-1">
|
||||||
@@ -29,98 +40,187 @@
|
|||||||
<div class="modalInfo modalInfo--deliveryInfo">
|
<div class="modalInfo modalInfo--deliveryInfo">
|
||||||
<h5 class="modalInfo__title">배송 조회</h5>
|
<h5 class="modalInfo__title">배송 조회</h5>
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${ not empty resultMap.resultList && fn:length(resultMap.resultList) > 0 }">
|
<c:when test="${ not empty resultMap && resultMap.status eq 'success' }">
|
||||||
<c:forEach var="list" items="${ resultMap.resultList }" varStatus="status">
|
<c:set var="podInfo" value="${resultMap.podInfo[0]}"/>
|
||||||
|
<div class="table-wrapper">
|
||||||
|
<table class="table deliveryInfo">
|
||||||
|
<caption>주문 상세</caption>
|
||||||
|
<!-- 각 열 width 설정 -->
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 20%;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th>송장번호</th>
|
||||||
|
<td><c:out value="${ podInfo.blno }"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>주문자</th>
|
||||||
|
<td><c:out value="${ ordrInfo.shippingList[0].recpntNm }"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>수령인</th>
|
||||||
|
<td><c:out value="${ podInfo.recipient }"/></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>>> 국내 입항보고</p>
|
||||||
|
<div class="table-wrapper">
|
||||||
|
<table class="table deliveryStatus">
|
||||||
|
<caption>입항 상세</caption>
|
||||||
|
<!-- 각 열 width 설정 -->
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 25%;">
|
||||||
|
<col style="width: 5%;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>처리일시</th>
|
||||||
|
<th>상품위치</th>
|
||||||
|
<th>배송상태</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:if test="${ not empty podInfo.dateLocalwhin }">
|
||||||
|
<tr>
|
||||||
|
<td><c:out value="${ podInfo.dateLocalwhin }"/></td>
|
||||||
|
<td></td>
|
||||||
|
<td>
|
||||||
|
발송물이 픽업되어, 공항출항 대기중입니다.
|
||||||
|
<p class="statusEn">Shipment pick up and waiting at the origin airport</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:if>
|
||||||
|
<c:if test="${ not empty podInfo.dateLocaldeparture }">
|
||||||
|
<tr>
|
||||||
|
<td><c:out value="${ podInfo.dateLocaldeparture }"/></td>
|
||||||
|
<td></td>
|
||||||
|
<td>
|
||||||
|
화물이 인천공항으로 출발하였습니다.
|
||||||
|
<p class="statusEn">Shipment departed to Incheon International Airport</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:if>
|
||||||
|
<c:if test="${ not empty podInfo.dateIcnarrival }">
|
||||||
|
<tr>
|
||||||
|
<td><c:out value="${ podInfo.dateIcnarrival }"/></td>
|
||||||
|
<td>인천공항</td>
|
||||||
|
<td>
|
||||||
|
화물이 인천공항에 도착하였습니다.
|
||||||
|
<p class="statusEn">Shipped the goods arrived at Incheon International Airport.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:if>
|
||||||
|
<c:if test="${ not empty podInfo.dateCustomes }">
|
||||||
|
<tr>
|
||||||
|
<td><c:out value="${ podInfo.dateCustomes }"/></td>
|
||||||
|
<td>인천공항</td>
|
||||||
|
<td>
|
||||||
|
인천공항 세관에서 통관완료되었습니다.
|
||||||
|
<p class="statusEn">Customs clearance is completed in the Republic of Korea</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:if>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<c:if test="${ not empty podInfo.customs }">
|
||||||
|
<p>>> 통관 조회</p>
|
||||||
|
<c:forEach var="customOne" items="${ podInfo.customs }" varStatus="status">
|
||||||
|
<div class="table-wrapper">
|
||||||
|
<table class="table deliveryStatus">
|
||||||
|
<caption>통관 상세</caption>
|
||||||
|
<!-- 각 열 width 설정 -->
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 25%;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>처리일시</th>
|
||||||
|
<th>처리상태</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:forEach var="customDetail" items="${ customOne }" varStatus="status">
|
||||||
|
<tr>
|
||||||
|
<td><c:out value="${ customDetail.dateEvent }"/></td>
|
||||||
|
<td><c:out value="${ customDetail.traceStatus }"/></td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</c:forEach>
|
||||||
|
</c:if>
|
||||||
|
|
||||||
|
<c:if test="${ not empty podInfo.localPod }">
|
||||||
|
<p>>> 우체국 배송 조회</p>
|
||||||
<div class="table-wrapper">
|
<div class="table-wrapper">
|
||||||
<table class="table">
|
<table class="table deliveryStatus">
|
||||||
<caption>해당 테이블에 대한 설명</caption>
|
<caption>배송 상세</caption>
|
||||||
<!-- 각 열 width 설정 -->
|
<!-- 각 열 width 설정 -->
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col style="width: 30%;">
|
<col style="width: 25%;">
|
||||||
<col style="width: 70%;">
|
<col style="width: 35%;">
|
||||||
</colgroup>
|
<col style="width: auto;">
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<th>주문자</th>
|
|
||||||
<td>
|
|
||||||
<c:out value="${ resultMap.result.ordrrNm }"/>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>수령인</th>
|
|
||||||
<td>
|
|
||||||
<c:out value="${ list.recpntNm }"/>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>배송지</th>
|
|
||||||
<td>
|
|
||||||
<c:if test="${ not empty list.dlvylcZip }">(<c:out value="${ list.dlvylcZip }"/>)</c:if>
|
|
||||||
<c:choose>
|
|
||||||
<c:when test="${ list.dlvylcAdresDvCd eq '01'}">
|
|
||||||
<c:out value="${ list.dlvylcRnmAdres }"/>
|
|
||||||
</c:when>
|
|
||||||
<c:when test="${ list.dlvylcAdresDvCd eq '02'}">
|
|
||||||
<c:out value="${ list.dlvylcLnbAdres }"/>
|
|
||||||
</c:when>
|
|
||||||
</c:choose>
|
|
||||||
<c:out value="${ list.dlvylcAdresDtl }"/>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>택배사</th>
|
|
||||||
<td>
|
|
||||||
<c:out value="${ list.hdrycpnNm }"/>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>송장번호</th>
|
|
||||||
<td>
|
|
||||||
<c:out value="${ list.invcnb }"/>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="table-wrapper">
|
|
||||||
<table class="table vertical tight modalInfo__deliveryTable">
|
|
||||||
<caption>해당 테이블에 대한 설명</caption>
|
|
||||||
<!-- 각 열 width 설정 -->
|
|
||||||
<colgroup>
|
|
||||||
<col style="width: 40%;">
|
|
||||||
<col style="width: 34%;">
|
|
||||||
<col style="width: 26%;">
|
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>처리일시</th>
|
<th>처리일시</th>
|
||||||
<th>상품위치</th>
|
<th>현재위치</th>
|
||||||
<th>배송상태</th>
|
<th>처리현황</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<c:forEach var="trackingList" items="${ list.trackingDetails }" varStatus="status">
|
<c:forEach var="localPod" items="${ podInfo.localPod }" varStatus="status">
|
||||||
<tr
|
<tr>
|
||||||
<c:if test="${ trackingList.kind eq '배송완료'}">
|
<td><c:out value="${ localPod.dateEvent }"/></td>
|
||||||
class="deliveryCompleted"
|
<td><c:out value="${ localPod.position }"/></td>
|
||||||
</c:if>
|
<td>
|
||||||
>
|
<c:out value="${ localPod.traceStatus }"/>
|
||||||
<td><c:out value="${ trackingList.time }"/></td>
|
<c:choose>
|
||||||
<td>
|
<c:when test="${ localPod.traceStatus eq '접수' }">
|
||||||
<c:out value="${ trackingList.where }"/>
|
<p class="statusEn">HANDED OVER TO KP</p>
|
||||||
</td>
|
</c:when>
|
||||||
<td><c:out value="${ trackingList.kind }"/></td>
|
<c:when test="${ localPod.traceStatus eq '발송' }">
|
||||||
</tr>
|
<p class="statusEn">MOVE TO DEPOT</p>
|
||||||
</c:forEach>
|
</c:when>
|
||||||
|
<c:when test="${ localPod.traceStatus eq '도착' }">
|
||||||
|
<p class="statusEn">ARR. AT DEPOT</p>
|
||||||
|
</c:when>
|
||||||
|
<c:when test="${ localPod.traceStatus eq '배달준비' }">
|
||||||
|
<p class="statusEn">HANDED OVER TO POST MAN</p>
|
||||||
|
</c:when>
|
||||||
|
<c:when test="${ localPod.traceStatus eq '배달완료' }">
|
||||||
|
<c:set var="dlivyCompt" value="true"/>
|
||||||
|
<p class="statusEn">DELIVERED TO CNEE</p>
|
||||||
|
</c:when>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
<c:if test="${ dlivyCompt }">
|
||||||
|
<tr>
|
||||||
|
<td colspan="3" style="text-align: center;">
|
||||||
|
배송완료 - 수령인 : <c:out value="${ podInfo.recipient }"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:if>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</c:forEach>
|
</c:if>
|
||||||
</c:when>
|
</c:when>
|
||||||
<c:otherwise>
|
<c:otherwise>
|
||||||
<div class="noResult">
|
<div class="noResult">
|
||||||
<div class="noResult__image">
|
<div class="noResult__image">
|
||||||
<img src="<c:url value="/pc/images/icon__no-result.png"/>" alt="상품 이미지"/>
|
<img src="<c:url value="/pc/images/icon__no-result.png"/>" alt="상품 이미지"/>
|
||||||
</div>
|
</div>
|
||||||
<p class="noResult__text">배송 조회 내역이 없습니다.</p>
|
<p class="noResult__text">배송 조회 내역이 없습니다.</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -425,21 +425,18 @@
|
|||||||
|
|
||||||
|
|
||||||
/* 배송조회 팝업 화면 호출 */
|
/* 배송조회 팝업 화면 호출 */
|
||||||
const fn_call_dlvy_pop = function (ordrDlvyInnb) {
|
const fn_open_dlvy_popup = function (ordrInnb, ordrDlvyInnb) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: 'post',
|
type: 'post',
|
||||||
url: '/sopmal/mpage/ordr/selectDlvyInqire',
|
url: '/sopmal/mpage/ordr/selectDlvyInqire',
|
||||||
data: {
|
data: {
|
||||||
|
ordrInnb:ordrInnb,
|
||||||
ordrDlvyInnb:ordrDlvyInnb
|
ordrDlvyInnb:ordrDlvyInnb
|
||||||
},
|
},
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
// $('#modalDiv').html(data);
|
$('#deliveryInfoPop').remove();
|
||||||
//
|
$("#modalDiv").html(data);
|
||||||
// $('#delivery-check-pop').remove().modal();
|
openModal2('deliveryInfoPop');
|
||||||
|
|
||||||
let invcnb = JSON.parse(data.resBody.result).invcnb;
|
|
||||||
let url = 'https://www.acieshop.com/pod.php?OrderNo=' + invcnb;
|
|
||||||
window.open(url, '_blank');
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -798,7 +795,7 @@
|
|||||||
<a href="javascript:void(0);" class="btn gray sm full" style="margin-top: 5px;" onclick="fn_pop_m2mqna_regist('<c:out value="${order.ordrInnb}"/>');">반품신청</a>
|
<a href="javascript:void(0);" class="btn gray sm full" style="margin-top: 5px;" onclick="fn_pop_m2mqna_regist('<c:out value="${order.ordrInnb}"/>');">반품신청</a>
|
||||||
</c:when>
|
</c:when>
|
||||||
<c:when test="${goods.ordrSttusCd > 54 && goods.ordrSttusCd < 76 && order.sknEnvrnCd ne 'POS'}">
|
<c:when test="${goods.ordrSttusCd > 54 && goods.ordrSttusCd < 76 && order.sknEnvrnCd ne 'POS'}">
|
||||||
<a href="javascript:void(0);" onclick="fn_call_dlvy_pop('${goods.ordrDlvyInnb}');" class="btn outline sm full">배송조회</a>
|
<a href="javascript:void(0);" onclick="fn_open_dlvy_popup('${goods.ordrInnb}', '${goods.ordrDlvyInnb}');" class="btn outline sm full">배송조회</a>
|
||||||
<c:if test="${ goods.purchsDcsnAt eq 'N' }">
|
<c:if test="${ goods.purchsDcsnAt eq 'N' }">
|
||||||
<a href="javascript:void(0);" class="btn gray sm full" style="margin-top: 5px;" onclick="fn_pop_m2mqna_regist('<c:out value="${order.ordrInnb}"/>');">반품신청</a>
|
<a href="javascript:void(0);" class="btn gray sm full" style="margin-top: 5px;" onclick="fn_pop_m2mqna_regist('<c:out value="${order.ordrInnb}"/>');">반품신청</a>
|
||||||
</c:if>
|
</c:if>
|
||||||
@@ -942,7 +939,7 @@
|
|||||||
<a href="javascript:void(0);" onclick="fn_call_setle_cancl_pop('${order.sopmalCd}', '${order.ordrInnb}', '${goods.ordrDlvyInnb}','${setleDt}', '${setleTyCd}', '${order.ordrSttusCd}');" class="btn gray full">결제취소</a>
|
<a href="javascript:void(0);" onclick="fn_call_setle_cancl_pop('${order.sopmalCd}', '${order.ordrInnb}', '${goods.ordrDlvyInnb}','${setleDt}', '${setleTyCd}', '${order.ordrSttusCd}');" class="btn gray full">결제취소</a>
|
||||||
</c:when>
|
</c:when>
|
||||||
<c:when test="${goods.ordrSttusCd > 54 && goods.ordrSttusCd < 76 && order.sknEnvrnCd ne 'POS'}">
|
<c:when test="${goods.ordrSttusCd > 54 && goods.ordrSttusCd < 76 && order.sknEnvrnCd ne 'POS'}">
|
||||||
<a href="javascript:void(0);" onclick="fn_call_dlvy_pop('${goods.ordrDlvyInnb}');" class="btn outline sm full">배송조회</a>
|
<a href="javascript:void(0);" onclick="fn_open_dlvy_popup('${goods.ordrInnb}', '${goods.ordrDlvyInnb}');" class="btn outline sm full">배송조회</a>
|
||||||
<c:if test="${ goods.purchsDcsnAt eq 'N' }">
|
<c:if test="${ goods.purchsDcsnAt eq 'N' }">
|
||||||
<a href="javascript:void(0);" class="btn gray sm full" style="margin-top: 5px;" onclick="fn_pop_m2mqna_regist('<c:out value="${order.ordrInnb}"/>');">반품신청</a>
|
<a href="javascript:void(0);" class="btn gray sm full" style="margin-top: 5px;" onclick="fn_pop_m2mqna_regist('<c:out value="${order.ordrInnb}"/>');">반품신청</a>
|
||||||
</c:if>
|
</c:if>
|
||||||
|
|||||||
Reference in New Issue
Block a user