Compare commits
3 Commits
c08a3d3a90
...
acb8d314d9
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
acb8d314d9 | ||
|
|
45c85b6079 | ||
|
|
7be7a8851d |
@@ -46,6 +46,9 @@ public class BOCommonService {
|
||||
|
||||
@Value("${secret.key}")
|
||||
private String secretKey;
|
||||
|
||||
@Value("${aciexpress.apikey}")
|
||||
private String aciApiKey;
|
||||
|
||||
/**
|
||||
* <p>비밀번호를 암호화 한다</p>
|
||||
@@ -287,4 +290,10 @@ public class BOCommonService {
|
||||
return secretKey;
|
||||
}
|
||||
|
||||
/**
|
||||
* aci Api키 조회
|
||||
* @return String
|
||||
*/
|
||||
public String selectAciApiKey() {return aciApiKey;}
|
||||
|
||||
}
|
||||
|
||||
@@ -161,6 +161,14 @@ public interface BODlivyMapper {
|
||||
public List<BODlivyVO> selectBOOrdrDlvyDtlsInqireGroupOrdr(BODlivyVO boDlivyVO);
|
||||
|
||||
|
||||
/**
|
||||
* 주문 배송 추적 조회 : 송장번호 조회
|
||||
* @param boDlivyVO
|
||||
* @return
|
||||
*/
|
||||
public String selectBOOrdrInvcnb(BODlivyVO boDlivyVO);
|
||||
|
||||
|
||||
/**
|
||||
* 출고 상태 '상품 준비' or '배송중' 되돌리기 / 출고 상태 변경 단건
|
||||
* @param dlivyVO
|
||||
|
||||
@@ -1,59 +1,40 @@
|
||||
package com.wb.domainserver.domain.gcone.ordr.dlivy.service;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.StringReader;
|
||||
import java.io.StringWriter;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.BigInteger;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.JsonMappingException;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOShopSetupVO;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.wb.domainserver.domain.gcone.common.service.BOCommonService;
|
||||
import com.wb.domainserver.domain.gcone.goods.purchs.mapper.BOPurchsMapper;
|
||||
import com.wb.domainserver.domain.gcone.goods.purchs.vo.BOOrderLogVO;
|
||||
import com.wb.domainserver.domain.gcone.mbr.mlg.service.BOMlgService;
|
||||
import com.wb.domainserver.domain.gcone.mbr.mlg.vo.BOMlgVO;
|
||||
import com.wb.domainserver.domain.gcone.ntcn.mssage.service.BOMssageService;
|
||||
import com.wb.domainserver.domain.gcone.ordr.atmcrcpmny.vo.BOAtmcRcpmnyCnfirmVO;
|
||||
import com.wb.domainserver.domain.gcone.ordr.dlivy.mapper.BODlivyMapper;
|
||||
import com.wb.domainserver.domain.gcone.ordr.dlivy.vo.*;
|
||||
import com.wb.domainserver.domain.gcone.ordr.ordr.mapper.BOOrdrMapper;
|
||||
import com.wb.domainserver.domain.gcone.ordr.ordr.service.BOOrdrService;
|
||||
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrLogVO;
|
||||
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrShippingVO;
|
||||
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrVO;
|
||||
import com.wb.domainserver.domain.gcone.ordr.pay.service.BOPayService;
|
||||
import com.wb.domainserver.domain.gcone.ordr.pay.vo.BOPayVO;
|
||||
import com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.service.BORtngudrefndService;
|
||||
import com.wb.domainserver.exception.WnbtRestException;
|
||||
import com.wb.domainserver.exception.code.ErrorCode;
|
||||
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||
import com.wb.domainserver.util.string.StringUtil;
|
||||
import io.micrometer.common.util.StringUtils;
|
||||
import jakarta.xml.bind.JAXBContext;
|
||||
import jakarta.xml.bind.JAXBException;
|
||||
import jakarta.xml.bind.Marshaller;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.wb.domainserver.domain.gcone.ordr.dlivy.mapper.BODlivyMapper;
|
||||
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.*;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.Node;
|
||||
import org.w3c.dom.NodeList;
|
||||
import org.xml.sax.InputSource;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.BigInteger;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@Slf4j
|
||||
@@ -83,6 +64,9 @@ public class BODlivyService {
|
||||
@Autowired
|
||||
BORtngudrefndService boRtngudrefndService;
|
||||
|
||||
@Autowired
|
||||
private BOCommonService boCommonService;
|
||||
|
||||
|
||||
/* ####################################
|
||||
출고 리스트 서비스 시작
|
||||
@@ -494,6 +478,167 @@ public class BODlivyService {
|
||||
return contents;
|
||||
}
|
||||
|
||||
/**
|
||||
* ACI Key 발급 API
|
||||
* @param
|
||||
* @return List<DataMap>
|
||||
*/
|
||||
public DataMap selectBOAciKey() throws WnbtRestException {
|
||||
String apiKey = boCommonService.selectAciApiKey();
|
||||
DataMap message = new DataMap();
|
||||
|
||||
try {
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.setContentType(MediaType.APPLICATION_JSON);
|
||||
headers.set("USERID", "UNIHAN");
|
||||
headers.set("APIKEY", apiKey);
|
||||
|
||||
Map<String, Object> body = new HashMap<>();
|
||||
|
||||
HttpEntity<String> apiRequest =
|
||||
new HttpEntity<>("{}", headers);
|
||||
|
||||
RestTemplate restTemplate = new RestTemplate();
|
||||
ResponseEntity<String> response = restTemplate.exchange(
|
||||
"https://acieshop.com/api/kr/pod/v1.5/",
|
||||
HttpMethod.POST,
|
||||
apiRequest,
|
||||
String.class
|
||||
);
|
||||
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
JsonNode jsonNode = objectMapper.readTree(response.getBody());
|
||||
|
||||
message.put("status", jsonNode.get("Status").asText());
|
||||
message.put("aciKey", jsonNode.get("ACIKey").asText());
|
||||
message.put("errMsg", jsonNode.get("ErrMsg").asText());
|
||||
}catch (WnbtRestException wre){
|
||||
log.error(wre.getMessage());
|
||||
throw wre;
|
||||
}catch (RuntimeException re){
|
||||
log.error(re.getMessage());
|
||||
throw new WnbtRestException(ErrorCode.INTERNAL_SERVER_ERROR);
|
||||
}catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
throw new WnbtRestException(ErrorCode.INTERNAL_SERVER_ERROR);
|
||||
}
|
||||
|
||||
return message;
|
||||
}
|
||||
|
||||
/**
|
||||
* 화물 추적 - 운송장 조회 API
|
||||
* @param boDlivyVO
|
||||
* @return List<DataMap>
|
||||
*/
|
||||
public DataMap updateBOAciDelivery(BODlivyVO boDlivyVO) throws WnbtRestException {
|
||||
DataMap aciMap = selectBOAciKey();
|
||||
String aciKey = String.valueOf(aciMap.get("aciKey"));
|
||||
DataMap message = new DataMap();
|
||||
|
||||
try {
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.setContentType(MediaType.APPLICATION_JSON);
|
||||
headers.set("USERID", "UNIHAN");
|
||||
headers.set("ACIKey", aciKey);
|
||||
|
||||
Map<String, Object> body = new HashMap<>();
|
||||
body.put("BLNO", mapper.selectBOOrdrInvcnb(boDlivyVO));
|
||||
|
||||
HttpEntity<Map<String, Object>> apiRequest =
|
||||
new HttpEntity<>(body, headers);
|
||||
|
||||
RestTemplate restTemplate = new RestTemplate();
|
||||
ResponseEntity<String> response = restTemplate.exchange(
|
||||
"ex",
|
||||
HttpMethod.POST,
|
||||
apiRequest,
|
||||
String.class
|
||||
);
|
||||
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
JsonNode jsonNode = objectMapper.readTree(response.getBody());
|
||||
|
||||
message.put("status", jsonNode.get("Status").asText());
|
||||
JsonNode podInfoNode = jsonNode.get("PODInfo");
|
||||
if(!podInfoNode.isNull()) {
|
||||
List<DataMap> podInfoList = new ArrayList<>();
|
||||
for(JsonNode podInfoItem : podInfoNode) {
|
||||
DataMap PODInfo = new DataMap();
|
||||
PODInfo.put("blno", podInfoItem.get("BLNO").asText());
|
||||
PODInfo.put("dateLocalwhin", podInfoItem.get("DATE_LOCALWHIN").asText());
|
||||
PODInfo.put("dateLocaldeparture", podInfoItem.get("DATE_LOCALDEPARTURE").asText());
|
||||
PODInfo.put("dateIcnarrival", podInfoItem.get("DATE_ICNARRIVAL").asText());
|
||||
PODInfo.put("dateCustomes", podInfoItem.get("DATE_CUSTOMES").asText());
|
||||
PODInfo.put("dateDelivery", podInfoItem.get("DATE_DELIVERY").asText());
|
||||
PODInfo.put("recipient", podInfoItem.get("RECIPIENT").asText());
|
||||
PODInfo.put("wta", podInfoItem.get("WTA").asText());
|
||||
PODInfo.put("wtdan", podInfoItem.get("WTDAN").asText());
|
||||
|
||||
List<DataMap> volumeList = new ArrayList<>();
|
||||
for(JsonNode volumeItem : podInfoItem.get("VOLUME")) {
|
||||
DataMap volume = new DataMap();
|
||||
volume.put("width", volumeItem.get("WIDTH").asText());
|
||||
volume.put("length", volumeItem.get("LENGTH").asText());
|
||||
volume.put("height", volumeItem.get("HEIGHT").asText());
|
||||
|
||||
volumeList.add(volume);
|
||||
}
|
||||
PODInfo.put("volume", volumeList);
|
||||
|
||||
List<List> customsList = new ArrayList<>();
|
||||
for(JsonNode customsItem : podInfoItem.get("CUSTOMS")) {
|
||||
List<DataMap> customDetail = new ArrayList<>();
|
||||
for(JsonNode customItem : customsItem) {
|
||||
DataMap Custom = new DataMap();
|
||||
Custom.put("dateEvent", customItem.get("DATE_EVENT").asText());
|
||||
Custom.put("traceStatus", customItem.get("TRACE_STATUS").asText());
|
||||
|
||||
customDetail.add(Custom);
|
||||
}
|
||||
customsList.add(customDetail);
|
||||
}
|
||||
PODInfo.put("customs", customsList);
|
||||
|
||||
List<DataMap> localPodList = new ArrayList<>();
|
||||
for(JsonNode localPodItem : podInfoItem.get("LOCAL_POD")) {
|
||||
DataMap localPod = new DataMap();
|
||||
localPod.put("traceStatus", localPodItem.get("TRACE_STATUS").asText());
|
||||
localPod.put("dateEvent", localPodItem.get("DATE_EVENT").asText());
|
||||
localPod.put("position", localPodItem.get("POSITION").asText());
|
||||
|
||||
localPodList.add(localPod);
|
||||
}
|
||||
PODInfo.put("localPod", localPodList);
|
||||
|
||||
podInfoList.add(PODInfo);
|
||||
}
|
||||
message.put("podInfo", podInfoList);
|
||||
} else {
|
||||
message.put("errMsg", jsonNode.get("ErrMsg").asText());
|
||||
}
|
||||
}catch (WnbtRestException wre){
|
||||
log.error(wre.getMessage());
|
||||
throw wre;
|
||||
}catch (RuntimeException re){
|
||||
log.error(re.getMessage());
|
||||
throw new WnbtRestException(ErrorCode.INTERNAL_SERVER_ERROR);
|
||||
}catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
throw new WnbtRestException(ErrorCode.INTERNAL_SERVER_ERROR);
|
||||
}
|
||||
|
||||
return message;
|
||||
}
|
||||
|
||||
/**
|
||||
* 송장번호 조회
|
||||
* @param boDlivyVO
|
||||
* @return List<DataMap>
|
||||
*/
|
||||
public String selectBOOrdrInvcnb(BODlivyVO boDlivyVO) throws WnbtRestException {
|
||||
return mapper.selectBOOrdrInvcnb(boDlivyVO);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -635,6 +635,8 @@ public class OrdrmngrController {
|
||||
@Policy(AuthPolicy.PUBLIC)
|
||||
@RequestMapping(value="/selectExcelPoDwldListInqire")
|
||||
public void selectPurchOrderExcelList(HttpServletResponse response, BOOrdrSrchVO ordrSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
|
||||
String secretKey = commonService.selectSecretkey();
|
||||
ordrSrchVO.setSecretKey(secretKey);
|
||||
ordrSrchVO.setSopmalCd(authSopmalCd);
|
||||
|
||||
//엑셀 항목별 제목에 출력될 내용 설정
|
||||
|
||||
@@ -36,6 +36,7 @@ import com.wb.domainserver.domain.sopmal.mpage.ordr.vo.MyOrdrDlvyVO;
|
||||
import com.wb.domainserver.domain.sopmal.mpage.ordr.vo.MyOrdrShippingVO;
|
||||
import com.wb.domainserver.domain.sopmal.mpage.ordr.vo.MyRefundVO;
|
||||
import com.wb.domainserver.exception.WnbtRestException;
|
||||
import com.wb.domainserver.response.ApiResponse;
|
||||
import com.wb.domainserver.response.WnbtResponse;
|
||||
import com.wb.domainserver.response.WnbtResponseBody;
|
||||
import com.wb.domainserver.response.WnbtWebClientResponseHandler;
|
||||
@@ -54,6 +55,7 @@ import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.logging.log4j.util.Base64Util;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Controller;
|
||||
@@ -65,6 +67,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
|
||||
import java.math.BigInteger;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -725,26 +728,26 @@ public class MyOrdrController {
|
||||
* @return
|
||||
*/
|
||||
@Policy(AuthPolicy.PUBLIC)
|
||||
@RequestMapping(value="/selectDlvyInqire")
|
||||
public String selectDlvyInqire(BODlivyVO boDlivyVO, ModelMap model, HttpServletRequest request){
|
||||
// @RequestMapping(value="/selectDlvyInqire")
|
||||
// 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();
|
||||
if("01".equals(user.getSysDvCd())){
|
||||
boDlivyVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드
|
||||
}
|
||||
|
||||
Map<String, Object> content = new HashMap<>();
|
||||
content = dlivyService.selectBOOrdrDlvyDtlsInqire(boDlivyVO);
|
||||
// model.addAttribute("resultMap", dlivyService.updateBOAciDelivery(boDlivyVO));
|
||||
// return Util.getDeviceType(request) + "/mpage/ordr/DlvyInqireR";
|
||||
|
||||
model.addAttribute("resultMap", content);
|
||||
// responseHandler.handleResponse(
|
||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBOOrdrDlvyDtlsInqire", dlivyVO),
|
||||
// model,
|
||||
// "resultMap"
|
||||
// );
|
||||
|
||||
// return "sopmal/mpage/ordr/DlvyInqireR";
|
||||
return Util.getDeviceType(request) + "/mpage/ordr/DlvyInqireR";
|
||||
DataMap content = new DataMap();
|
||||
content.put("invcnb", dlivyService.selectBOOrdrInvcnb(boDlivyVO));
|
||||
return ResponseEntity.ok(
|
||||
WnbtResponse.builder()
|
||||
.resBody(new WnbtResponseBody(content))
|
||||
.build()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -365,6 +365,9 @@ mngrfo:
|
||||
secret:
|
||||
key: 1df5be2f7e90ae36
|
||||
|
||||
aciexpress:
|
||||
apikey: DC94F29AFD5399F54AAE7FAA46045B65
|
||||
|
||||
|
||||
host:
|
||||
img: https://19d28cf7178139ad.kinxzone.com
|
||||
|
||||
@@ -1332,6 +1332,20 @@
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 주문 배송 추적 조회 : 송장번호 조회 -->
|
||||
<select id = "selectBOOrdrInvcnb"
|
||||
parameterType="com.wb.domainserver.domain.gcone.ordr.dlivy.vo.BODlivyVO"
|
||||
resultType = "String">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
GGE.INVCNB
|
||||
FROM GC_GOODS_EXPORT GGE
|
||||
WHERE GGE.SOPMAL_CD = #{sopmalCd}
|
||||
AND GGE.ORDR_DLVY_INNB = #{ordrDlvyInnb}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 주문 배송 추적 받는사람, 보내는사람 조회 -->
|
||||
<select id = "selectBOOrdrDlvyDtlInqire"
|
||||
parameterType="com.wb.domainserver.domain.gcone.ordr.dlivy.vo.BODlivyVO"
|
||||
|
||||
@@ -1415,7 +1415,7 @@
|
||||
GO.ORDR_INNB,
|
||||
1 AS PURPS_DV,
|
||||
GOS.RECPNT_NM,
|
||||
CAST(AES_DECRYPT(UNHEX(GOS.RECPNT_MBTLNB) , '1df5be2f7e90ae36') AS CHAR(50)) AS RECPNT_MBTLNB,
|
||||
CAST(AES_DECRYPT(UNHEX(GOS.RECPNT_MBTLNB) , #{secretKey}) AS CHAR(50)) AS RECPNT_MBTLNB,
|
||||
NULL AS RECPNT_HP,
|
||||
GOS.CSTMCLER_CD,
|
||||
GOS.DLVYLC_ZIP,
|
||||
|
||||
@@ -547,19 +547,9 @@
|
||||
}
|
||||
|
||||
/* 출고내역 주문배송 정보 조회 */
|
||||
const fn_open_dlvy_sweettracker_modal = function(dlivyInnb) {
|
||||
$.ajax({
|
||||
type:'post',
|
||||
url:'<c:url value="/mngr/ordr/dlivy/selectOrdrDlvyDtlsInqire"/>',
|
||||
data:{
|
||||
'dlivyInnb':dlivyInnb
|
||||
},
|
||||
success:function (html) {
|
||||
$('#modalDiv').html(html);
|
||||
|
||||
$('#delivery-history-pop').remove().modal();
|
||||
}
|
||||
});
|
||||
const fn_open_dlvy_popup = function(invcnb) {
|
||||
let url = 'https://www.acieshop.com/pod.php?OrderNo=' + invcnb;
|
||||
window.open(url, 'acieView', 'width=605,height=700');
|
||||
}
|
||||
|
||||
/* 무효/취소/반품 내역 정보 조회 */
|
||||
@@ -758,11 +748,11 @@
|
||||
<button type = "button" class="btn xsm gray" onclick="fn_open_dlvy_modal('#modalDiv', '#purchase-confirmation-pop', '<c:url value="/mngr/ordr/dlivy/selectPurchsDcsnProcsLogDtlsPopupForm"/>', '<c:out value="${ resultMap.result.dlivyInnb }"/>', '<c:out value="${ resultMap.result.ordrInnb }"/>');" >로그</button>
|
||||
</h2>
|
||||
<div class="page-title__btn-container">
|
||||
<c:choose>
|
||||
<%--<c:choose>
|
||||
<c:when test="${ resultMap.result.dlivySttusCd ge 55 }">
|
||||
<button type = "button" class="btn gray" onclick="fn_open_dlvy_modal('#modalDiv', '#delivery-history-pop', '<c:url value="/mngr/ordr/dlivy/selectOrdrDlvyDtlsInqire"/>', '<c:out value="${ resultMap.result.dlivyInnb }"/>')">배송추적</button>
|
||||
<button type = "button" class="btn gray" onclick="fn_open_dlvy_popup('<c:out value="${ resultMap.result.invcnb }"/>')">배송추적</button>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</c:choose>--%>
|
||||
<button type = "button" class="btn outline" onclick="fn_select_dlvy_list();">출고리스트</button>
|
||||
<%-- 되돌리기 기능 제거 ( 2024-07-02 상시 회의록 참고 )
|
||||
<c:choose>
|
||||
|
||||
@@ -894,7 +894,7 @@
|
||||
tr += ' </div> ';
|
||||
tr += ' <div class="input-container gap-3 mt-5"> ';
|
||||
tr += ' <input class="input-text md" type="text" oninput="validateInputEngNumber(this)" name="invcnb" title="운송장번호" value= "' + data.invcnb + '"> ';
|
||||
tr += ' <button type = "button" onclick = "fn_open_dlvy_sweettracker_modal(\'#modalDiv\', \'#delivery-history-pop\', \'<c:url value="/mngr/ordr/dlivy/selectOrdrDlvyDtlsInqire"/>\', \'' + data.dlivyInnb + '\')" ';
|
||||
tr += ' <button type = "button" onclick = "fn_open_dlvy_popup(\'' + data.invcnb + '\')" ';
|
||||
tr += ' class="btn xsm dark">조회</button > ';
|
||||
tr += ' </div> ';
|
||||
tr += ' </div> ';
|
||||
@@ -1474,24 +1474,10 @@
|
||||
/*********************************************************************
|
||||
* 배송그룹 / 방법변경 모달 , 배송 조회 모달
|
||||
* *******************************************************************/
|
||||
const fn_open_dlvy_sweettracker_modal = function (modalDivSltr, modalSlrt, url, dlivyInnb) {
|
||||
|
||||
// const data = $(formId).serialize();
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: url,
|
||||
data: {
|
||||
dlivyInnb : dlivyInnb
|
||||
},
|
||||
success: function (data) {
|
||||
$(modalSlrt).remove();
|
||||
$(modalDivSltr).html(data);
|
||||
$(modalSlrt).modal();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
const fn_open_dlvy_popup = function (invcnb) {
|
||||
let url = 'https://www.acieshop.com/pod.php?OrderNo=' + invcnb;
|
||||
window.open(url, 'acieView', 'width=605,height=700');
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************
|
||||
|
||||
@@ -242,7 +242,7 @@
|
||||
<div class="input-container gap-3 mt-5">
|
||||
<%-- <input type="hidden" name="ordrDlvyInnb" value="<c:out value="${ exList.ordrDlvyInnb }"/>" /> --%>
|
||||
<input class="input-text md" type="text" oninput="validateInputEngNumber(this)" title="송장 번호" name="dlivyUpdtVOList[${ status.index }].invcnb" value="<c:out value="${ exList.invcnb }"/>" />
|
||||
<button type="button" class="btn xsm dark" onclick="fn_open_dlvy_sweettracker_modal('#modalDiv', '#delivery-history-pop', '<c:url value="/mngr/ordr/dlivy/selectOrdrDlvyDtlsInqire"/>', '<c:out value="${ exList.dlivyInnb }"/>')" >조회</button>
|
||||
<button type="button" class="btn xsm dark" onclick="fn_open_dlvy_popup('<c:out value="${ exList.invcnb }"/>')" >조회</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
@@ -557,7 +557,7 @@
|
||||
'</div>' +
|
||||
'<div class="input-container gap-3 mt-5">' +
|
||||
'<input class="input-text md" type="text" oninput="validateInputEngNumber(this)" title="송장번호" value="' + invcnb +'">' +
|
||||
'<button type="button" class="btn xsm dark" onclick="fn_open_dlvy_sweettracker_modal(\'#modalDiv\', \'#delivery-history-pop\', \'<c:url value="/mngr/ordr/dlivy/selectOrdrDlvyDtlsInqire"/>\', ' + invcnb + ')">조회</button>' +
|
||||
'<button type="button" class="btn xsm dark" onclick="fn_open_dlvy_popup(' + invcnb + ')">조회</button>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'</td>' +
|
||||
@@ -731,7 +731,7 @@
|
||||
'</div>' +
|
||||
'<div class="input-container gap-3 mt-5">' +
|
||||
'<input class="input-text md" type="text" oninput="validateInputEngNumber(this)" title="송장번호" name="dlivyUpdtVOList[' + index + '].invcnb" value="' + invcnb +'">' +
|
||||
'<button type="button" class="btn xsm dark" onclick="fn_open_dlvy_sweettracker_modal(\'#modalDiv\', \'#delivery-history-pop\', \'<c:url value="/mngr/ordr/dlivy/selectOrdrDlvyDtlsInqire"/>\', ' + invcnb + ')">조회</button>' +
|
||||
'<button type="button" class="btn xsm dark" onclick="fn_open_dlvy_popup(' + invcnb + ')">조회</button>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'</td>' +
|
||||
@@ -844,21 +844,9 @@
|
||||
/*********************************************************************
|
||||
* 배송그룹 / 방법변경 모달 , 배송 조회 모달
|
||||
* *******************************************************************/
|
||||
const fn_open_dlvy_sweettracker_modal = function (modalDivSltr, modalSlrt, url, dlivyInnb) {
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: url,
|
||||
data: {
|
||||
dlivyInnb : dlivyInnb
|
||||
},
|
||||
success: function (data) {
|
||||
$(modalSlrt).remove();
|
||||
$(modalDivSltr).html(data);
|
||||
$(modalSlrt).modal();
|
||||
|
||||
}
|
||||
});
|
||||
const fn_open_dlvy_popup = function (invcnb) {
|
||||
let url = 'https://www.acieshop.com/pod.php?OrderNo=' + invcnb;
|
||||
window.open(url, 'acieView', 'width=605,height=700');
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -408,13 +408,7 @@
|
||||
|
||||
/* 관리자 주문 > 에누리 > 결제수단 선택 이벤트 */
|
||||
$('.setleMnCds').on('click', function() {
|
||||
const td = $(this).closest('td');
|
||||
let checkbox = $(table).find('input[name="setleMnCds"]').length;
|
||||
let checkedbox = $(table).find('input[name="setleMnCds"]:checked').length;
|
||||
|
||||
if (checkbox !== checkedbox) {
|
||||
$(td).find('#setleChkAll').prop('checked', false);
|
||||
}
|
||||
fn_chk_steleChkbox(this);
|
||||
});
|
||||
|
||||
/* 관리자 주문 > 에누리 > 유효기간 체인지 이벤트 */
|
||||
@@ -1670,6 +1664,19 @@
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* 개인결제 결제수단 체크박스 처리 */
|
||||
const fn_chk_steleChkbox = function(target) {
|
||||
const td = $(target).closest('td');
|
||||
let checkbox = $(table).find('input[name="setleMnCds"]').length;
|
||||
let checkedbox = $(table).find('input[name="setleMnCds"]:checked').length;
|
||||
|
||||
if (checkbox !== checkedbox) {
|
||||
$(td).find('#setleChkAll').prop('checked', false);
|
||||
} else {
|
||||
$(td).find('#setleChkAll').prop('checked', true);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<body>
|
||||
<%@ include file="/WEB-INF/views/comm/mngr/Header.jsp"%>
|
||||
|
||||
@@ -124,13 +124,7 @@
|
||||
|
||||
/* 관리자 주문 > 에누리 > 결제수단 선택 이벤트 */
|
||||
$('.setleMnCds').on('click', function() {
|
||||
const td = $(this).closest('td');
|
||||
let checkbox = $(table).find('input[name="setleMnCds"]').length;
|
||||
let checkedbox = $(table).find('input[name="setleMnCds"]:checked').length;
|
||||
|
||||
if (checkbox !== checkedbox) {
|
||||
$(td).find('#setleChkAll').prop('checked', false);
|
||||
}
|
||||
fn_chk_steleChkbox(this);
|
||||
});
|
||||
|
||||
/* 관리자 주문 > 에누리 > 유효기간 체인지 이벤트 */
|
||||
@@ -779,6 +773,19 @@
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* 개인결제 결제수단 체크박스 처리 */
|
||||
const fn_chk_steleChkbox = function(target) {
|
||||
const td = $(target).closest('td');
|
||||
let checkbox = $(table).find('input[name="setleMnCds"]').length;
|
||||
let checkedbox = $(table).find('input[name="setleMnCds"]:checked').length;
|
||||
|
||||
if (checkbox !== checkedbox) {
|
||||
$(td).find('#setleChkAll').prop('checked', false);
|
||||
} else {
|
||||
$(td).find('#setleChkAll').prop('checked', true);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<body>
|
||||
<%@ include file="/WEB-INF/views/comm/mngr/Header.jsp"%>
|
||||
|
||||
@@ -123,7 +123,7 @@
|
||||
</select>
|
||||
</div>
|
||||
<input type="text" name="invcnb" value="${goodsExport.invcnb}" oninput="validateInputEngNumber(this)" class="input-text md" title="송장번호">
|
||||
<a href="javascript:void(0);" onclick="fn_open_dlvy_sweettracker_modal('${goodsExport.dlivyInnb}'); return false;" class="btn sm outline primary">조회</a>
|
||||
<a href="javascript:void(0);" onclick="fn_open_dlvy_popup('${goodsExport.invcnb}'); return false;" class="btn sm outline primary">조회</a>
|
||||
</div>
|
||||
</form>
|
||||
</c:when>
|
||||
@@ -176,7 +176,7 @@
|
||||
</select>
|
||||
</div>
|
||||
<input type="text" name="invcnb" value="${goodsExport.invcnb}" oninput="validateInputEngNumber(this)" class="input-text md" title="송장번호" readonly>
|
||||
<a href="javascript:void(0);" onclick="fn_open_dlvy_sweettracker_modal('${goodsExport.dlivyInnb}'); return false;" class="btn sm outline primary">조회</a>
|
||||
<a href="javascript:void(0);" onclick="fn_open_dlvy_popup('${goodsExport.invcnb}'); return false;" class="btn sm outline primary">조회</a>
|
||||
</div>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
|
||||
@@ -942,19 +942,9 @@
|
||||
}
|
||||
|
||||
/* 출고내역 주문배송 정보 조회 */
|
||||
const fn_open_dlvy_sweettracker_modal = function(dlivyInnb) {
|
||||
$.ajax({
|
||||
type:'post',
|
||||
url:'<c:url value="/mngr/ordr/dlivy/selectOrdrDlvyDtlsInqire"/>',
|
||||
data:{
|
||||
'dlivyInnb':dlivyInnb
|
||||
},
|
||||
success:function (html) {
|
||||
$('#modalDiv').html(html);
|
||||
|
||||
$('#delivery-history-pop').remove().modal();
|
||||
}
|
||||
});
|
||||
const fn_open_dlvy_popup = function(invcnb) {
|
||||
let url = 'https://www.acieshop.com/pod.php?OrderNo=' + invcnb;
|
||||
window.open(url, 'acieView', 'width=605,height=700');
|
||||
}
|
||||
|
||||
/* 배송그룹/방법 변경 정보 조회 */
|
||||
|
||||
@@ -1313,19 +1313,9 @@
|
||||
}
|
||||
|
||||
/* 출고내역 주문배송 정보 조회 */
|
||||
const fn_open_dlvy_sweettracker_modal = function(dlivyInnb) {
|
||||
$.ajax({
|
||||
type:'post',
|
||||
url:'<c:url value="/mngr/ordr/dlivy/selectOrdrDlvyDtlsInqire"/>',
|
||||
data:{
|
||||
'dlivyInnb':dlivyInnb
|
||||
},
|
||||
success:function (html) {
|
||||
$('#modalDiv').html(html);
|
||||
|
||||
$('#delivery-history-pop').remove().modal();
|
||||
}
|
||||
});
|
||||
const fn_open_dlvy_popup = function(invcnb) {
|
||||
let url = 'https://www.acieshop.com/pod.php?OrderNo=' + invcnb;
|
||||
window.open(url, 'acieView', 'width=605,height=700');
|
||||
}
|
||||
|
||||
/* 무효/취소/반품 내역 정보 조회 */
|
||||
|
||||
@@ -731,17 +731,21 @@
|
||||
}
|
||||
|
||||
/* 배송조회 팝업 화면 호출 */
|
||||
const fn_call_dlvy_sweettracker_pop = function (ordrInnb) {
|
||||
const fn_open_dlvy_popup = function (ordrDlvyInnb) {
|
||||
$.ajax({
|
||||
type:'post',
|
||||
url:'<c:url value="/sopmal/mpage/ordr/selectDlvyInqire"/>',
|
||||
data:{
|
||||
ordrInnb:ordrInnb
|
||||
ordrDlvyInnb:ordrDlvyInnb
|
||||
},
|
||||
success:function (data) {
|
||||
$('#modalDiv').html(data);
|
||||
// $('#modalDiv').html(data);
|
||||
//
|
||||
// $('#delivery-check-pop').remove().modal();
|
||||
|
||||
$('#delivery-check-pop').remove().modal();
|
||||
let invcnb = JSON.parse(data.resBody.result).invcnb;
|
||||
let url = 'https://www.acieshop.com/pod.php?OrderNo=' + invcnb;
|
||||
window.open(url, 'acieView', 'width=605,height=700');
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -1328,7 +1332,7 @@
|
||||
</c:if>
|
||||
</c:when>
|
||||
<c:when test="${goods.ordrSttusCd > 54 && goods.ordrSttusCd < 76 && order.sknEnvrnCd ne 'POS'}">
|
||||
<a href="javascript:void(0);" onclick="fn_call_dlvy_sweettracker_pop('<c:out value="${order.ordrInnb}"/>');" 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.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>
|
||||
<c:choose>
|
||||
<c:when test="${goods.itemOrdrSttusCd > 54 && goods.itemOrdrSttusCd < 76 && goods.purchsDcsnAt eq 'N'}">
|
||||
@@ -1477,7 +1481,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>
|
||||
</c:when>
|
||||
<c:when test="${goods.ordrSttusCd > 54 && goods.ordrSttusCd < 76 && order.sknEnvrnCd ne 'POS'}">
|
||||
<a href="javascript:void(0);" onclick="fn_call_dlvy_sweettracker_pop('<c:out value="${order.ordrInnb}"/>');" 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.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>
|
||||
<c:choose>
|
||||
<c:when test="${goods.itemOrdrSttusCd > 54 && goods.itemOrdrSttusCd < 76 && goods.purchsDcsnAt eq 'N'}">
|
||||
|
||||
@@ -425,17 +425,21 @@
|
||||
|
||||
|
||||
/* 배송조회 팝업 화면 호출 */
|
||||
const fn_call_dlvy_sweettracker_pop = function (ordrInnb) {
|
||||
const fn_call_dlvy_pop = function (ordrDlvyInnb) {
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: '/sopmal/mpage/ordr/selectDlvyInqire',
|
||||
data: {
|
||||
ordrInnb: ordrInnb
|
||||
ordrDlvyInnb:ordrDlvyInnb
|
||||
},
|
||||
success: function (data) {
|
||||
$('#deliveryInfoPop').remove();
|
||||
$('#modalDiv').html(data);
|
||||
openModal2('deliveryInfoPop');
|
||||
// $('#modalDiv').html(data);
|
||||
//
|
||||
// $('#delivery-check-pop').remove().modal();
|
||||
|
||||
let invcnb = JSON.parse(data.resBody.result).invcnb;
|
||||
let url = 'https://www.acieshop.com/pod.php?OrderNo=' + invcnb;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -794,7 +798,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>
|
||||
</c:when>
|
||||
<c:when test="${goods.ordrSttusCd > 54 && goods.ordrSttusCd < 76 && order.sknEnvrnCd ne 'POS'}">
|
||||
<a href="javascript:void(0);" onclick="fn_call_dlvy_sweettracker_pop('${order.ordrInnb}');" class="btn outline sm full">배송조회</a>
|
||||
<a href="javascript:void(0);" onclick="fn_call_dlvy_pop('${goods.ordrDlvyInnb}');" class="btn outline sm full">배송조회</a>
|
||||
<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>
|
||||
</c:if>
|
||||
@@ -938,7 +942,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>
|
||||
</c:when>
|
||||
<c:when test="${goods.ordrSttusCd > 54 && goods.ordrSttusCd < 76 && order.sknEnvrnCd ne 'POS'}">
|
||||
<a href="javascript:void(0);" onclick="fn_call_dlvy_sweettracker_pop('${order.ordrInnb}');" class="btn outline sm full">배송조회</a>
|
||||
<a href="javascript:void(0);" onclick="fn_call_dlvy_pop('${goods.ordrDlvyInnb}');" class="btn outline sm full">배송조회</a>
|
||||
<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>
|
||||
</c:if>
|
||||
|
||||
Reference in New Issue
Block a user