Compare commits

..

63 Commits

Author SHA1 Message Date
김현욱
82f04ec36e 회원가입, 마이페이지에 휴대폰 번호 추가(1) 2026-03-17 15:35:46 +09:00
김현욱
c4d5db482d 회원가입, 마이페이지에 휴대폰 번호 추가 2026-03-17 15:31:12 +09:00
jazz
6f50cacde2 fix : 반품신청 주의사항 사이즈 변경 2026-03-17 15:00:11 +09:00
jazz
a7678b7b5a fix : 주문(구독서비스)상세 문구삭제 2026-03-17 13:34:41 +09:00
jazz
21baeb14b0 fix : 배송지관리 모달사이즈 조절 2026-03-17 12:13:14 +09:00
jazz
4d5f9c0903 fix : 비화원 장바구니 구매하기 화면 접근제어 2026-03-17 11:38:31 +09:00
jazz
b73bd46bd1 fix : 통합관리자 쇼핑몰 수정 - 팔때환율 제거 2026-03-17 10:35:56 +09:00
jazz
aa7b83e331 Merge remote-tracking branch 'origin/master' 2026-03-13 11:46:13 +09:00
jazz
83024e46d0 fix : 관리자 구독서비스 결제취소 2026-03-13 11:45:58 +09:00
김현욱
9336e895b0 환율적용 원화 결제 적용(4) 2026-03-13 10:28:53 +09:00
김현욱
ebe39d5037 환율적용 원화 결제 적용(3) 2026-03-13 10:27:26 +09:00
jazz
fa6371a099 fix : 관리자 결제취소, 환불 원화추가 2026-03-12 17:20:15 +09:00
김현욱
2edb9c30c7 환율적용 원화 결제 적용(2) 2026-03-12 15:37:40 +09:00
jazz
df09e3911d fix : 관리자 결제취소, 환불 원화추가 2026-03-12 14:28:09 +09:00
김현욱
da578da9e0 환율적용 원화 결제 적용(1) 2026-03-11 17:41:19 +09:00
이대환
c0410a82f6 fix : 배송지 관리 팝업 - 배송지 정보 선택 버튼 추가 2026-03-10 16:23:32 +09:00
김현욱
da9076981c 장바구니 및 구매패이지 원화 추가(1) 2026-03-10 15:36:44 +09:00
jazz
89d0978728 Merge remote-tracking branch 'origin/master' 2026-03-10 12:09:49 +09:00
jazz
e7a9499780 fix : 관리자 결제취소, 환불 원화추가 2026-03-10 12:09:42 +09:00
이대환
6114b7648c fix : 배송지 관리 팝업 - 배송지 정보 선택 버튼 추가 2026-03-10 11:15:49 +09:00
김현욱
c82f48966a 개인통관부호 처리 추가(2) 2026-03-06 14:56:19 +09:00
jazz
3dc906cfc6 fix : 결제취소, 환불 원화추가 2026-03-05 17:59:33 +09:00
이대환
1ed4ceafe8 fix : 주문결제 > 배송지 등록/수정 - 일본 주소(일본어) 옵션 추가(모바일) 2026-03-04 15:07:49 +09:00
jazz
066153a36b fix : 결제취소, 환불 원화추가 2026-03-04 14:39:26 +09:00
이대환
fdeb8ae26d 구독서비스 결제 화면 적용(모바일) 2026-03-04 11:20:53 +09:00
김현욱
38f85a7409 개인통관부호 처리 추가(1) 2026-03-03 18:15:11 +09:00
이대환
1b0a6f9624 fix : 쇼핑몰 배송지 관리 - 배송지 등록/수정 정합성 검사 2026-03-03 18:01:38 +09:00
이대환
381a53f332 fix : crm 주문등록 - 상품 추가 시 배송지 초기화 방지 2026-03-03 14:22:23 +09:00
이대환
4064f30bb9 구독서비스 결제 화면 적용(모바일) 2026-03-03 13:26:03 +09:00
jazz
797b36e42f fix : 사용자 마이페이지 일반주문상세내역 결제취소 조건 수정 2026-03-03 10:55:12 +09:00
jazz
7be3cedd31 fix : 관리자 주문목록 / 주문상세 수정 2026-02-27 15:51:58 +09:00
jazz
4512525495 Merge remote-tracking branch 'origin/master' 2026-02-27 15:19:47 +09:00
jazz
e24d0ef704 fix : 관리자 주문목록 / 주문상세 수정 2026-02-27 15:19:35 +09:00
김현욱
3ee3e1964e 개인통관부호 조회 추가 2026-02-27 14:39:45 +09:00
jazz
30cc498633 fix : 마이페이지 구독서비스 목록/상세 수정 2026-02-27 11:33:26 +09:00
jazz
b4d9aeba48 Merge remote-tracking branch 'origin/master' 2026-02-26 14:11:50 +09:00
jazz
f1bbe7b07c fix : 마이페이지 반품환불 원화금액 추가 2026-02-26 14:11:35 +09:00
김현욱
d3438b762f crm 스크립트 path 수정 2026-02-26 14:06:25 +09:00
이대환
43508a858b 구독서비스 결제 화면 적용 2026-02-26 11:07:19 +09:00
이대환
0ca70094c9 fix : 배송지 관리 팝업 - 배송지 정보 세팅 js 개선 2026-02-26 11:05:30 +09:00
jazz
176e0d874e fix : 반품환불 원화금액 추가 2026-02-26 10:41:46 +09:00
김현욱
9b91679ec6 배송그룹 설정에 따른 배송 처리 로직 추가 2026-02-25 18:04:09 +09:00
김현욱
e261fbff7d 안내문구 수정 2026-02-25 15:13:59 +09:00
jazz
2579d5c3f9 fix : 최근검색에 삭제 오류 수정 2026-02-25 11:29:06 +09:00
jazz
e731981a26 fix : ajax 오류 메시지 추출로직변경
as-is
	let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
	alert(message.errorMsg);

to-be
    let message = JSON.parse(request.responseText).resBody.result;
    alert(message);
2026-02-25 10:51:56 +09:00
jazz
048bea431d fix : 마이페이지 반품/교환/취소 상세조회 2026-02-24 16:15:35 +09:00
이대환
dd67ee3b44 구독서비스 결제 화면 2026-02-24 10:28:43 +09:00
이대환
9c52b23fc0 구독서비스 결제 화면 2026-02-24 10:19:05 +09:00
jazz
c7f9910b44 fix : 마이페이지 반품/교환/취소 환불 조회조건 유지 2026-02-23 18:24:07 +09:00
이대환
f5ad9d1eed 비회원 장바구니/결제창 접근 제한 2026-02-20 18:25:52 +09:00
이대환
ae53e18a1e 비회원 장바구니/결제창 접근 제한 테스트 2026-02-20 18:14:41 +09:00
이대환
bdab97c65c fix : 구독서비스 목록 조회 쿼리 개선 2026-02-20 17:39:38 +09:00
jazz
666fef8bef fix : 파일사이즈 변경 2026-02-20 16:57:34 +09:00
이대환
888c02b3f2 fix : 게시글 등록 - 반품 안내문구
fix : 주문/배송조회 > 주문상세 - 무효/취소/반품 내역 제거
2026-02-20 16:45:56 +09:00
jazz
293bb016b8 fix : 구독서비스 상품준비 관리 최종차수 늦어진건 색표시 2026-02-20 11:32:23 +09:00
이대환
4ea4289a85 fix : 쇼핑몰 구독서비스 하단 탭바(모바일) 2026-02-20 10:20:04 +09:00
이대환
1419041bb9 fix : 쇼핑몰 구독서비스 스크롤 상단바 추가 2026-02-19 16:37:57 +09:00
jazz
33f82a1f94 fix : 관리자 전체 주문목록, 엑셀다운로드 2026-02-19 14:39:47 +09:00
jazz
b2a67966ee fix : 관리자 전체 주문목록, 주문->출고처리 출고처리 수정 2026-02-19 13:46:13 +09:00
이대환
3e64dd72a0 fix : 마이페이지 메인 - 최근 주문 (구독서비스) 추가 2026-02-19 10:00:37 +09:00
이대환
40dc7f7c85 fix : 구독서비스 주문/배송 - 적립금 관련 표시 제거
fix : 주문결제 > 배송지 정보 세팅 - 배송지역코드 관련 로직 추가
2026-02-13 17:48:33 +09:00
jazz
2448e856ba fix : 관리자 전체 주문목록, 주문->출고처리 목록조회 2026-02-12 18:23:38 +09:00
jazz
272cd36110 fix : 관리자 전체 주문목록, 주문->출고처리 목록조회 2026-02-12 17:22:05 +09:00
106 changed files with 12872 additions and 1872 deletions

View File

@@ -286,13 +286,7 @@ public class BOMaMtngController {
return ApiResponse.of(content).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
}
} else {
// if (CollectionUtils.isEmpty(multiOrdrDlvylc)) {
// log.info("배송지 정보를 찾을 수 없습니다.");
// content.put("result","Y");
// content.put("message", "배송지 정보를 찾을 수 없습니다.");
// // throw new WnbtRestException("주문유형 정보를 찾을 수 없습니다.");
// return ApiResponse.of(content).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
// }
// 여러곳배송처럼 처리하더라도 주소는 하나이므로 shipping 체크
if (CollectionUtils.isEmpty(shipping)) {
log.info("배송지 정보를 찾을 수 없습니다.");
content.put("result","Y");
@@ -329,91 +323,27 @@ public class BOMaMtngController {
String[] receptMbtlnbArray = null; // 배송지 받는이 휴대폰번호
if ("01".equals(ordrTyCd) || "03".equals(ordrTyCd) || "06".equals(ordrTyCd)) { // 일반주문, 회원개인결제, 정기배송
if (!CollectionUtils.isEmpty(multiOrdrDlvylc)) {
// 배송지 리스트
List<LinkedHashMap<String, Object>> dlvylcListMulti = (List<LinkedHashMap<String, Object>>) multiOrdrDlvylc.get("dlvylc");
/** ----------------------------------------------- 배송지별 주문 상품 수량 검사 START ----------------------------------------------- */
content = checkDistributedQyMatchesOrder(goodsList, dlvylcListMulti);
if (!"0".equals(content.get("status"))) {
return ApiResponse.of(content).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
}
/** ----------------------------------------------- 배송지별 주문 상품 수량 검사 END ----------------------------------------------- */
// 부정판매 체크를 위한 배송지 정렬
if (!CollectionUtils.isEmpty(dlvylcListMulti)) {
boolean hasInvalidAddress = dlvylcListMulti.stream().anyMatch(map -> {
String dlvylcZip = StringUtil.isNullToString(map.get("dlvylcZip"));
String adresDvCd = StringUtil.isNullToString(map.get("dlvylcAdresDvCd"));
String dlvylcLnbAdres = StringUtil.isNullToString(map.get("dlvylcLnbAdres"));
String dlvylcRnmAdres = StringUtil.isNullToString(map.get("dlvylcRnmAdres"));
String adresDtl = StringUtil.isNullToString(map.get("dlvylcAdresDtl"));
return StringUtil.isEmpty(dlvylcZip)
|| StringUtil.isEmpty(adresDvCd)
|| ("01".equals(adresDvCd) && StringUtil.isEmpty(dlvylcRnmAdres))
|| ("02".equals(adresDvCd) && StringUtil.isEmpty(dlvylcLnbAdres))
|| StringUtil.isEmpty(adresDtl);
});
if (hasInvalidAddress) {
content.put("result","Y");
content.put("message", "배송지 정보를 찾을 수 없습니다. 다시 시도해 주세요.");
return ApiResponse.of(content).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
}
List<String> adresList = dlvylcListMulti.stream()
.map(map -> {
String adresDvCd = StringUtil.isNullToString(map.get("dlvylcAdresDvCd"));
String adresDtl = StringUtil.isNullToString(map.get("dlvylcAdresDtl"));
String dlvylcLnbAdres = StringUtil.isNullToString(map.get("dlvylcLnbAdres"));
String dlvylcRnmAdres = StringUtil.isNullToString(map.get("dlvylcRnmAdres"));
String adresMulti;
if ("01".equals(adresDvCd)) {
adresMulti = dlvylcRnmAdres + " " + adresDtl;
} else {
adresMulti = dlvylcLnbAdres + " " + adresDtl;
}
return adresMulti;
})
.collect(Collectors.toList());
adresArray = adresList.toArray(new String[0]);
List<String> receptMbtlnbList = dlvylcListMulti.stream()
.map(map -> {
return StringUtil.isNullToString(map.get("recpntMbtlnb"));
})
.collect(Collectors.toList());
receptMbtlnbArray = receptMbtlnbList.toArray(new String[0]);
}
if (
StringUtil.isEmpty((String) shipping.get("dlvylcZip")) ||
StringUtil.isEmpty((String) shipping.get("dlvylcAdresDvCd")) ||
( "01".equals(shipping.get("dlvylcAdresDvCd")) && StringUtil.isEmpty((String) shipping.get("dlvylcRnmAdres")) ) ||
( "02".equals(shipping.get("dlvylcAdresDvCd")) && StringUtil.isEmpty((String) shipping.get("dlvylcLnbAdres")) ) ||
StringUtil.isEmpty((String) shipping.get("dlvylcAdresDtl"))
) {
content.put("result","Y");
content.put("message", "배송지 정보를 찾을 수 없습니다. 다시 시도해 주세요.");
return ApiResponse.of(content).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
}
// if (
// StringUtil.isEmpty((String) shipping.get("dlvylcZip")) ||
// StringUtil.isEmpty((String) shipping.get("dlvylcAdresDvCd")) ||
// ( "01".equals(shipping.get("dlvylcAdresDvCd")) && StringUtil.isEmpty((String) shipping.get("dlvylcRnmAdres")) ) ||
// ( "02".equals(shipping.get("dlvylcAdresDvCd")) && StringUtil.isEmpty((String) shipping.get("dlvylcLnbAdres")) ) ||
// StringUtil.isEmpty((String) shipping.get("dlvylcAdresDtl"))
// ) {
// content.put("result","Y");
// content.put("message", "배송지 정보를 찾을 수 없습니다. 다시 시도해 주세요.");
// return ApiResponse.of(content).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
// }
//
// String dlvylcAdresDvCd = (String) shipping.get("dlvylcAdresDvCd");
// String dlvylcLnbAdres = (String) shipping.get("dlvylcLnbAdres");
// String dlvylcRnmAdres = (String) shipping.get("dlvylcRnmAdres");
// String dlvylcAdresDtl = (String) shipping.get("dlvylcAdresDtl");
//
// adres = "01".equals(dlvylcAdresDvCd) ? dlvylcRnmAdres + " " + dlvylcAdresDtl : dlvylcLnbAdres + " " + dlvylcAdresDtl;
//
// String recpntMbtlnb = StringUtil.isNullToString(shipping.get("recpntMbtlnb"));
// receptMbtlnbArray = new String[]{recpntMbtlnb};
String dlvylcAdresDvCd = (String) shipping.get("dlvylcAdresDvCd");
String dlvylcLnbAdres = (String) shipping.get("dlvylcLnbAdres");
String dlvylcRnmAdres = (String) shipping.get("dlvylcRnmAdres");
String dlvylcAdresDtl = (String) shipping.get("dlvylcAdresDtl");
adres = "01".equals(dlvylcAdresDvCd) ? dlvylcRnmAdres + " " + dlvylcAdresDtl : dlvylcLnbAdres + " " + dlvylcAdresDtl;
String recpntMbtlnb = StringUtil.isNullToString(shipping.get("recpntMbtlnb"));
receptMbtlnbArray = new String[]{recpntMbtlnb};
} else if ("05".equals(ordrTyCd)) { // 여러곳 배송
if (!CollectionUtils.isEmpty(multiOrdrDlvylc)) {

View File

@@ -470,6 +470,8 @@ public interface BOPurchsMapper {
*/
public String selectRlSetleAmt(DataMap param);
public String selectWonRlSetleAmt(DataMap param);
/**
* 0원 상품 포함시 짜투리 업데이트 ( 장바구니, 마일리지, 애누리 )
* @param itemOptnVO

View File

@@ -1837,6 +1837,8 @@ public class BOPurchsService {
public Map<String, Object> selectSetleExpectAmt(DataMap param) {
Map<String, Object> content = new HashMap<>();
log.debug("BOPurchsService.selectSetleExpectAmt-param : {}", param);
String sopmalCd = (String) param.get("sopmalCd");
LinkedHashMap setleExpectAmtMap = new LinkedHashMap(){{

View File

@@ -20,6 +20,8 @@ public class BOOrderSetleVO extends AbstractVO {
private BigDecimal setleAmt;
private BigDecimal wonSetleAmt;
private String pgCmpnyNm;
private String setleTyCd;

View File

@@ -26,8 +26,14 @@ public class BOOrderShippingVO extends AbstractVO {
private String recpntMbtlnb;
private String dlvylcAreaCd;
private String cstmclerCd;
private String dlvylcZip;
private String prefcd;
private String dlvylcAdresDvCd;
private String dlvylcLnbAdres;

View File

@@ -40,7 +40,11 @@ public class BOOrderVO extends AbstractVO {
private BigDecimal rlSetleAmt = new BigDecimal("0");
private BigDecimal enuriAmt = new BigDecimal("0");;
private BigDecimal enuriAmt = new BigDecimal("0");
private BigDecimal wonRlSetleAmt = new BigDecimal("0");
private BigDecimal buyRate = new BigDecimal("0");
private String ordrrNm;

View File

@@ -335,6 +335,8 @@ public interface BOOrdrMapper {
*/
public List<DataMap> selectOrderShippingList(BOOrdrShippingVO ordrShippingVO);
public List<DataMap> selectOrderShippingListGrp(BOOrdrShippingVO ordrShippingVO);
/**
* 관리자 > 주문 > 주문관리 > 전체 주문 조회 > 전체주문상세 > 배송지정보 상품 목록 조회
* @param paramMap
@@ -349,6 +351,13 @@ public interface BOOrdrMapper {
*/
public List<DataMap> selectRefundShippingGoodsList(DataMap paramMap);
/**
* 관리자 > 주문 > 주문관리 > 전체 주문 조회 > 전체주문상세 > 배송지정보 수정 > 배송지정보 일치여부 확인
* @param ordrShippingVO
* @return Integer
*/
public Integer selectDlvylcAreaCdInfo(BOOrdrShippingVO ordrShippingVO);
/**
* 관리자 > 주문 > 주문관리 > 전체 주문 조회 > 전체주문상세 > 배송지정보 수정
* @param ordrShippingVO
@@ -662,6 +671,8 @@ public interface BOOrdrMapper {
*/
public DataMap selectBOSpbkGiftMultiDlvyAt(BOSpbkVO spbkVO);
public BigDecimal selectBuyRate(DataMap param);
/**
* 사용자 > 상품 > 장바구니 > 장바구니 상품 삭제
* @param goodsVO
@@ -982,6 +993,19 @@ public interface BOOrdrMapper {
* @return List<DataMap>
*/
public List<DataMap> selectMbrSubsvcOrdrList(BOOrdrDlvyVO ordrDlvyVO);
/**
* 최종 한화금액이 결제금액보다 많은지 체크하여 환불금액(원화) update
* @param refundVO
*/
public void updateBOWonRefundAmt(BOOrdrRefundVO refundVO);
/**
* 결제취소 시 구독서비스 환불금액 조회
* 계산식 : 전체결제금액 - 전체배송비 - 발송및취소된(35~85)상품금액
* @param refundVO
*/
public Integer selectSubsvcRefundAmt(BOOrdrRefundVO refundVO);
}

View File

@@ -13,6 +13,8 @@ import com.wb.domainserver.domain.gcone.goods.purchs.service.BOOrderNoService;
import com.wb.domainserver.domain.gcone.goods.purchs.service.BOOrderService;
import com.wb.domainserver.domain.gcone.goods.purchs.service.BOPurchsService;
import com.wb.domainserver.domain.gcone.goods.purchs.vo.*;
import com.wb.domainserver.domain.gcone.goods.subsvc.service.BOSubsvcService;
import com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO;
import com.wb.domainserver.domain.gcone.mbr.mbr.mapper.BOMbrMapper;
import com.wb.domainserver.domain.gcone.mbr.mbr.service.BOMbrService;
import com.wb.domainserver.domain.gcone.mbr.mbr.vo.BOMbrAppnVO;
@@ -144,6 +146,9 @@ public class BOOrdrService{
@Autowired
private BOOrderNoService orderNoService;
@Autowired
private BOSubsvcService subsvcService;
@Autowired
private PropertyService propertyService;
@@ -1983,6 +1988,8 @@ public class BOOrdrService{
List<DataMap> shippingList = mapper.selectOrderShippingList(shippingVO);
// List<DataMap> shippingListGrp = mapper.selectOrderShippingListGrp(shippingVO);
if (!CollectionUtils.isEmpty(shippingList)) {
for (int i = 0; i < shippingList.size(); i++) {
DataMap param = shippingList.get(i);
@@ -2006,9 +2013,12 @@ public class BOOrdrService{
List<DataMap> mlgAccmlNtcList = purchsMapper.selectMlgAccmlNtcList(purchsrVO);
/*구독 취소*/
content.put("order", ordrDtl);
content.put("goodsList", goodsList);
content.put("shippingList", shippingList);
// content.put("shippingListGrp", shippingListGrp);
content.put("dscntList", dscntList);
content.put("setleList", setleList);
content.put("refundList", refundList);
@@ -2036,6 +2046,7 @@ public class BOOrdrService{
log.debug("param{}",param);
paramVO.setRecpntNm((String) param.get("recpntNm"));
paramVO.setRecpntMbtlnb((String) param.get("recpntMbtlnb"));
paramVO.setDlvylcAreaCd((String) param.get("dlvylcAreaCd"));
paramVO.setDlvylcZip((String) param.get("dlvylcZip"));
paramVO.setDlvylcAdresDvCd((String) param.get("dlvylcAdresDvCd"));
paramVO.setDlvylcLnbAdres((String) param.get("dlvylcLnbAdres"));
@@ -2050,11 +2061,20 @@ public class BOOrdrService{
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
paramVO.setUpdusr(user.getUserInnb());
int cnt = mapper.updateDlvylcInfo(paramVO);
/* 배송지정보 일치여부 확인 이후 업데이트 */
int cnt = mapper.selectDlvylcAreaCdInfo(paramVO);
if (cnt == 0) {
message.put("status", "1");
message.put("message", "배송지 수정을 실패하였습니다");
message.put("message", "배송지 국가는 변경할 수 없습니다.");
}
if(cnt > 0) {
cnt = mapper.updateDlvylcInfo(paramVO);
if (cnt == 0) {
message.put("status", "1");
message.put("message", "배송지 수정을 실패하였습니다");
}
}
return message;
@@ -2271,15 +2291,24 @@ public class BOOrdrService{
}});
}
//상품 환불금액 합산
//각 상품별 금액 합산(일반상품은 문제없음) -> 구독상품은 상품별 금액이 상관없음
refundVO.setRefundAmt(BigDecimal.valueOf(refundItemList.stream().mapToInt(vo -> vo.getGoodsRefundAmt().intValue()).sum()));
refundVO.setRefundAccmlmnyAmt(BigDecimal.valueOf(refundItemList.stream().mapToInt(vo -> vo.getSnggdsAccmlMlgAmt().intValue()).sum()));
Integer subsvcRefundAmt = mapper.selectSubsvcRefundAmt(refundVO);
if(subsvcRefundAmt != null){
refundVO.setRefundAmt(BigDecimal.valueOf(subsvcRefundAmt.longValue()));
}
BigDecimal useMlg = null;
// 구매총수량과 환불요청수량이 같은경우는 전체결제취소 또는 전체 환불신청
if (ordrQy == canclQy) { // TODO : 구매확정 수량으로 계산해야함. *****
// BigDecimal의 더하기 연산은 add() 메서드를 사용
// 마일리지 합산 + 자투리 합산
useMlg = BigDecimal.valueOf(refundItemList.stream().mapToInt(vo -> vo.getSnggdsRefundMlgAmt().intValue()).sum())
.add(BigDecimal.valueOf(refundItemList.stream().mapToInt(vo -> vo.getSnggdsRefundMlgRmndrAmt().intValue()).sum()));
} else {
// 마일리지 합산
useMlg = BigDecimal.valueOf(refundItemList.stream().mapToInt(vo -> vo.getSnggdsRefundMlgAmt().intValue()).sum());
}
@@ -2406,13 +2435,15 @@ public class BOOrdrService{
BigDecimal addPaidDlvyAmt = new BigDecimal(0); // 유료배송 도서산간 추가 배송비 합
BigDecimal returnPaidDlvyAmt = new BigDecimal(0); // 유료배송 반품 배송비
int loopCnt = 0;
if (!CollectionUtils.isEmpty(dlvylcItemList)) {
log.debug("환불 상품 목록 확인 : {}", dlvylcItemList);
// 1. 주문 금액에서 환불 금액빼는 상품별 금액 합산 변수 선언
// 2. 반품 배송비 변수 선언
// 3. 왕복 배송비 변수 선언
/* 반품/환불 신청 인경우*/
if (param.get("returnMthCd") != null) {
for (DataMap shippingGrouping : dlvylcItemList) {
log.debug("환불 상품 확인 : {}", shippingGrouping);
@@ -2433,6 +2464,13 @@ public class BOOrdrService{
BigDecimal subSlepric = (BigDecimal) shippingGrouping.get("subSlepric");
BigDecimal realDlvyAmt = (BigDecimal) shippingGrouping.get("realDlvyAmt"); // 상품별 결제 배송비
/*환불배송비 누적*/
if(loopCnt == 0 ){
rlRefundDlvyAmt = rlRefundDlvyAmt.add(realDlvyAmt);
loopCnt++;
}
if (!StringUtils.isEmpty(shippingGrouping.get("refundQy"))) {
Integer refundQy = Integer.parseInt(String.valueOf(shippingGrouping.get("refundQy"))); // 환불 수량
@@ -2614,19 +2652,22 @@ public class BOOrdrService{
// 최종 반품 배송비
refundVO.setReturnDlvyAmt(rlReturnDlvyAmt);
// 최종 환불 배송비 : 전체 환불일 경우에만 산정됨.
log.debug(" selectBOLastRefundDlvyAmtInqire 업데이트 치기 전 refundVO:: {}", refundVO);
rlRefundDlvyAmt = mapper.selectBOLastRefundDlvyAmtInqire(refundVO);
log.debug(" 환불금액이랑 반품 금액 업데이트 치기 전 rlRefundDlvyAmt:: {}", rlRefundDlvyAmt);
/*결제취소인 경우 배송비 다시확인*/
if("01".equals(refundVO.getRefundTyCd())) {
// 최종 환불 배송비 : 전체 환불일 경우에만 산정됨.
log.debug(" selectBOLastRefundDlvyAmtInqire 업데이트 치기 전 refundVO:: {}", refundVO);
rlRefundDlvyAmt = mapper.selectBOLastRefundDlvyAmtInqire(refundVO);
log.debug(" 환불금액이랑 반품 금액 업데이트 치기 전 rlRefundDlvyAmt:: {}", rlRefundDlvyAmt);
}
refundVO.setRefundDlvyAmt(rlRefundDlvyAmt);
log.debug(" 환불금액이랑 반품 금액 업데이트 치기 전 refundVO:: {}", refundVO);
mapper.updateBOFinalReturnDlvyAmtUpdt(refundVO);
}
/** ------------------------------------------ 반품 배송비 산정 END ------------------------------------------ */
/* 한화금액이 결제금액보다 많은지 체크하여 환불금액(원화) update */
mapper.updateBOWonRefundAmt(refundVO);
// 수동환불 처리 세팅
@@ -2658,8 +2699,6 @@ public class BOOrdrService{
message.put("adcript", adcriptContent);
BOOrdrRefundVO resultRefundVO = refundMapper.selectBORtngudDtlInqire(refundVO);
if (!StringUtils.isEmpty(resultRefundVO.getOrderRefundInnb()) && !StringUtils.isEmpty(resultRefundVO.getRefundCd())) {
@@ -3003,7 +3042,7 @@ public class BOOrdrService{
public Map<String, Object> selectSetleExpectAmt(DataMap param) throws Exception {
Map<String, Object> content = new HashMap<>();
log.debug("selectSetleExpectAmt-param : {}", param);
log.debug("BOOrdrService.selectSetleExpectAmt-param : {}", param);
LinkedHashMap setleExpectAmtMap = new LinkedHashMap() {{
put("goodsAmt", 0);
@@ -3016,6 +3055,7 @@ public class BOOrdrService{
put("useCashMlgAmt", 0);
put("dscntAmt", 0);
put("setleAmt", 0);
put("setleAmtKr", 0);
put("accmlMlgAmt", 0);
}};
@@ -3038,6 +3078,7 @@ public class BOOrdrService{
BigDecimal dftDlvyAmt = new BigDecimal(0);
BigDecimal setleAmt = new BigDecimal(0);
BigDecimal setleAmtKr = new BigDecimal(0);
BigDecimal stdrGoodsSetleAmt = new BigDecimal(0); // 상품 금액만 계산한 기준 금액
BigDecimal lmttUseMlg = new BigDecimal(0); // 사용 한도 마일리지
BigDecimal lmttUseCashMlg = new BigDecimal(0); // 사용 한도 충전형 마일리지
@@ -3051,6 +3092,8 @@ public class BOOrdrService{
BigDecimal enuriStdrAmt = new BigDecimal(0); // 애누리 적용 기준 금액
BigDecimal cashMlgStdrAmt = new BigDecimal(0); // 캐쉬 적용 기준 금액
BigDecimal buyRate = mapper.selectBuyRate(param);
String mlgMxmmUseDv = ""; // 마일리지 사용한도 최대 조건
BigDecimal mlgAccmlAmtSum = new BigDecimal(0); // 최종 구매 확정시 적립 마일리지
@@ -3381,9 +3424,12 @@ public class BOOrdrService{
LinkedHashMap<String, Object> shippingMap = (LinkedHashMap) param.get("shipping");
// String ordrAdressZip = StringUtil.isNullToString(param.get("dlvylcZip"));
String ordrAdressZip = StringUtil.isNullToString(shippingMap.get("dlvylcZip"));
String dlvylcAreaCd = (String) shippingMap.get("dlvylcAreaCd");
String prefcd = (String) shippingMap.get("prefcd");
// String dlvylcAreaCd = (String) param.get("dlvylcAreaCd");
// String prefcd = (String) param.get("prefcd");
String ordrAdressZip = StringUtil.isNullToString(shippingMap != null ? shippingMap.get("dlvylcZip") : "");
String dlvylcAreaCd = StringUtil.isNullToString(shippingMap != null ? shippingMap.get("dlvylcAreaCd") : "");
String prefcd = StringUtil.isNullToString(shippingMap != null ? shippingMap.get("prefcd") : "");
DataMap defaultAdressVO = new DataMap() {{ //
put("sopmalCd", sopmalCd); // 쇼핑몰 코드
put("zip", ordrAdressZip); // 우편번호
@@ -3769,6 +3815,9 @@ public class BOOrdrService{
rlDscntAmt = evtDscntAmt.add(goodsCouponDscntAmt).add(dlvyCouponDscntAmt).add(cartCouponDscntAmt).add(enuriAmt).add(useMlgAmt).add(useCashMlgAmt);
log.debug(" 마일리지 먹이기 전 : {}", setleAmt);
setleAmt = setleAmt.add(dlvyAmt).subtract(dlvyCouponDscntAmt).subtract(enuriAmt).subtract(useMlgAmt).subtract(useCashMlgAmt).compareTo(BigDecimal.ZERO) > 0 ? setleAmt.add(dlvyAmt).subtract(dlvyCouponDscntAmt).subtract(enuriAmt).subtract(useMlgAmt).subtract(useCashMlgAmt) : BigDecimal.ZERO;
// 환율계산
setleAmtKr = setleAmt.multiply(buyRate);
setleAmtKr = setleAmtKr.setScale(0,RoundingMode.HALF_UP);
lmttUseMlg = goodsAmt.subtract(dscntAmt.add(cartCouponDscntAmt));
log.debug(" 결제 예정 금액 : {}", setleAmt);
@@ -3787,6 +3836,7 @@ public class BOOrdrService{
setleExpectAmtMap.put("dscntAmt", rlDscntAmt.intValue());
setleExpectAmtMap.put("viewCartDscntAmt", dscntAmt.intValue());
setleExpectAmtMap.put("setleAmt", setleAmt.intValue());
setleExpectAmtMap.put("setleAmtKr", setleAmtKr.intValue());
setleExpectAmtMap.put("stdrGoodsSetleAmt", stdrGoodsSetleAmt.intValue());
setleExpectAmtMap.put("lmttUseMlg", lmttUseMlg.intValue());
setleExpectAmtMap.put("lmttUseCashMlg", lmttUseCashMlg.intValue());
@@ -6121,6 +6171,119 @@ public class BOOrdrService{
사용자 > 상품 > 구매/결제 > 비회원구매하기 종료
#################################### */
/* ####################################
사용자 > 구독상품 > 구매/결제 > 구독서비스 결제 시작
#################################### */
/**
* 사용자 > 구독상품 > 구매/결제 > 구독서비스 결제 > 구독서비스 결제 화면 정보 조회
* @param ordrVO
* @return Map<String, Object>
*/
public Map<String, Object> selectSubsvcPurchs(BOOrdrVO ordrVO) {
Map<String, Object> content = new HashMap<>();
//구독서비스 조회
BOSubsvcVO subsvcVO = new BOSubsvcVO();
subsvcVO.setSopmalCd(ordrVO.getSopmalCd());
subsvcVO.setSubsvcInnb(ordrVO.getSubsvcInnb());
DataMap subsvcOne = subsvcService.selectBOSubsvcDetail(subsvcVO);
BOPurchsrVO purchsrVO = new BOPurchsrVO();
purchsrVO.setSopmalCd(ordrVO.getSopmalCd());
purchsrVO.setMbrDvCd(ordrVO.getMbrDvCd());
purchsrVO.setMbrInnb(String.valueOf(ordrVO.getMbrInnb()));
purchsrVO.setMbrId(ordrVO.getMbrId());
BOCashVO cashVO = new BOCashVO();
cashVO.setSopmalCd(ordrVO.getSopmalCd());
cashVO.setMbrDvCd(ordrVO.getMbrDvCd());
cashVO.setMbrInnb(String.valueOf(ordrVO.getMbrInnb()));
//구매자조회
DataMap purchsrMap = purchsService.selectPurchsr(purchsrVO);
if (!CollectionUtils.isEmpty(purchsrMap)) {
BOMlgVO mlgVo = new BOMlgVO();
mlgVo.setMbrDvCd((String) purchsrMap.get("mbrDvCd"));
mlgVo.setMbrInnb(purchsrMap.get("mbrInnb").toString());
// 마일리지 잔액 총액
BigDecimal blceSum = mlgService.selectBOMlgBlceSum(mlgVo);
// 충전형 마일리지 잔액 총액
BigDecimal cashBlceSum = mlgService.selectBOCashBlce(cashVO);
purchsrMap.put("sopmalCd", ordrVO.getSopmalCd());
purchsrMap.put("dftDlvylc", purchsService.selectDftDlvylc(purchsrVO));
purchsrMap.put("ableMlgAmt", blceSum.intValue());
purchsrMap.put("ableCashMlgAmt", cashBlceSum.intValue());
}
DataMap paramMap = new DataMap(){{
put("sopmalCd", ordrVO.getSopmalCd());
put("setlePltfomTyCd", ordrVO.getSetlePltfomTyCd()); // PC
}};
DataMap payInfo = purchsMapper.selectPayInfo(paramMap);
DataMap shopInfo = purchsMapper.selectOrdrShopInfo(ordrVO);
content.put("purchsr", purchsrMap);
content.put("mlgAccmlNtcList", purchsMapper.selectMlgAccmlNtcList(purchsrVO));
content.put("subsvcOne", subsvcOne);
content.put("payInfo", payInfo);
content.put("shopInfo", shopInfo);
return content;
}
/**
* 사용자 > 구독상품 > 구매/결제 > 구독서비스 결제 > 결제 예정금액
* @param param
* @return Map<String, Object>
*/
public Map<String, Object> selectSubsvcSetleExpectAmt(DataMap param) throws Exception {
Map<String, Object> content = new HashMap<>();
log.debug("selectSetleExpectAmt-param : {}", param);
LinkedHashMap setleExpectAmtMap = new LinkedHashMap() {{
put("goodsAmt", 0);
put("dlvyAmt", 0);
put("evtDscntAmt", 0);
put("goodsCouponDscntAmt", 0);
put("dlvyCouponDscntAmt", 0);
put("cartCouponDscntAmt", 0);
put("useMlgAmt", 0);
put("useCashMlgAmt", 0);
put("dscntAmt", 0);
put("setleAmt", 0);
put("accmlMlgAmt", 0);
}};
BigDecimal goodsAmt = new BigDecimal(0);
BigDecimal setleAmt = new BigDecimal(0);
LinkedHashMap subsvcOne = (LinkedHashMap) param.get("subsvcOne");
log.debug("subsvcOne : {}", subsvcOne);
goodsAmt = BigDecimal.valueOf((Integer) subsvcOne.get("selpric"));
setleAmt = BigDecimal.valueOf((Integer) subsvcOne.get("selpric"));
// ############################################## 결제 예정 금액 적용 ##############################################
setleExpectAmtMap.put("goodsAmt", goodsAmt.intValue());
setleExpectAmtMap.put("setleAmt", setleAmt.intValue());
content.put("setleExpectAmt", setleExpectAmtMap);
content.put("subsvcOne", param.get("subsvcOne"));
return content;
}
/* ####################################
사용자 > 구독상품 > 구매/결제 > 구독서비스 결제 종료
#################################### */
/* ####################################
사용자 > 상품 > 구매/결제 > 개인결제 시작
#################################### */

View File

@@ -81,7 +81,8 @@ public class BODwldItmVO extends AbstractVO {
item50("dlvy_amt_setle_mth_nm", "배송비결제방식"),
item51("ordr_ty_nm", "주문유형"),
item52("optn_cd_1", "상품코드"),
item53("dlvy_mssage_cn", "배송메시지");
item53("dlvy_mssage_cn", "배송메시지"),
item54("shipping_sttus_nm", "출고상태");
private final String key;
private final String value;

View File

@@ -46,10 +46,14 @@ public class BOOrdrRefundVO extends AbstractVO {
private BigDecimal refundAmt; // 환불금액
private BigDecimal wonRefundAmt; // 환불금액(원화)
private BigDecimal refundAccmlmnyAmt; // 환불적립금액
private BigDecimal refundDlvyAmt; // 환불배송비총금액
private BigDecimal wonRefundDlvyAmt; // 환불배송비총금액(원화)
private BigDecimal mlgAccmlmnyAmt; // 적립금보정금액
private String mlgAccmlmnyValidDt; // 적립금유효기간
@@ -90,6 +94,8 @@ public class BOOrdrRefundVO extends AbstractVO {
private BigDecimal returnDlvyAmt; // 반품배송비금액
private BigDecimal wonReturnDlvyAmt; // 반품배송비금액(원화)
private String returnDlvyTrgetCd; // 반품배송비수령대상코드
private String returnDlvyRspnsblCd; // 반품배송비지불책임코드

View File

@@ -40,6 +40,9 @@ public class BOOrdrShippingVO extends AbstractVO {
/** 받는자휴대폰번호 */
private String recpntMbtlnb;
/** 배송지역코드 */
private String dlvylcAreaCd;
/** 배송지우편번호 */
private String dlvylcZip;

View File

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

View File

@@ -103,7 +103,8 @@ public class BOPayService{
put("ordrInnb", OrderInnb);
}};
return mapper.selectRlSetleAmt(paramMap);
// return mapper.selectRlSetleAmt(paramMap);
return mapper.selectWonRlSetleAmt(paramMap);
}
/* ============================================================================== */

View File

@@ -248,7 +248,7 @@ public interface BORtngudrefndMapper {
* @param boRtngudrefndVO
* @return
*/
public Integer selectBOORderRefundAmtSumInqire(BORtngudrefndVO boRtngudrefndVO);
public DataMap selectBOORderRefundAmtSumInqire(BORtngudrefndVO boRtngudrefndVO);
/**

View File

@@ -31,6 +31,7 @@ import com.wb.domainserver.domain.gcone.setup.site.mapper.BOSiteMapper;
import com.wb.domainserver.domain.gcone.setup.site.vo.BOSetupContentsItemVO;
import com.wb.domainserver.exception.WnbtRestException;
import com.wb.domainserver.util.string.StringUtil;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -249,7 +250,6 @@ public class BORtngudrefndService {
try {
if (boRtngudrefndVO.getRefundProcsSttusCd() != null) {
if (boRtngudrefndVO.getReturnCstmrTelnb() != null) {
@@ -278,28 +278,38 @@ public class BORtngudrefndService {
}
}
/*한화금액이 결제금액보다 많은지 체크하여 환불금액(원화) update를 위한 파라미터 셋팅*/
BOOrdrRefundVO refundVO = new BOOrdrRefundVO();
refundVO.setSopmalCd(boRtngudrefndVO.getSopmalCd());
refundVO.setOrdrInnb(new BigInteger(boRtngudrefndVO.getOrdrInnb()));
refundVO.setOrderRefundInnb(boRtngudrefndVO.getOrderRefundInnb());
if ( "01".equals(boRtngudrefndVO.getRefundTyCd()) ) { // 결제 취소
if ("01".equals(boRtngudrefndVO.getRefundProcsSttusCd())) {
if ("01".equals(boRtngudrefndVO.getRefundProcsSttusCd())) { // 환불신청
// TODO : 신청일때 로직
mapper.updateBOOrderReSttusUpdt(boRtngudrefndVO); // 반품/환불 상태값 수정
/* 한화금액이 결제금액보다 많은지 체크하여 환불금액(원화) update */
ordrMapper.updateBOWonRefundAmt(refundVO);
} else if ("02".equals(boRtngudrefndVO.getRefundProcsSttusCd())) {
} else if ("02".equals(boRtngudrefndVO.getRefundProcsSttusCd())) { //환불진행중
if ("01".equals(boRtngudrefndVO.getOldRefundProcsSttusCd())) {
if ("01".equals(boRtngudrefndVO.getOldRefundProcsSttusCd())) { //이전 환불진행상태 = 환불신청
orderRefundSttusUpdtPorcs(boRtngudrefndVO); // 주문에 환불건 관련 상태 및 수량 업데이트
}
if ( "02".equals(boRtngudrefndVO.getRefundMthCd()) ) {
if ( "02".equals(boRtngudrefndVO.getRefundMthCd()) ) { //환불방법 = 무통장계좌이체
mapper.updateBOOrderReSttusUpdt(boRtngudrefndVO); // 반품/환불 상태값 수정
/* 한화금액이 결제금액보다 많은지 체크하여 환불금액(원화) update */
ordrMapper.updateBOWonRefundAmt(refundVO);
} else {
// message = updateBORefundProcsProcess(boRtngudrefndVO); // 완료시에만 환불 처리
}
} else if ("03".equals(boRtngudrefndVO.getRefundProcsSttusCd())) {
} else if ("03".equals(boRtngudrefndVO.getRefundProcsSttusCd())) { //환불완료
if ("01".equals(boRtngudrefndVO.getOldRefundProcsSttusCd())) { // 신청에서 완료처리시
if ("01".equals(boRtngudrefndVO.getOldRefundProcsSttusCd())) { // 이전 환불진행상태 = 환불신청 => 신청에서 완료처리시
orderRefundSttusUpdtPorcs(boRtngudrefndVO); // 주문에 환불건 관련 상태 및 수량 업데이트
}
@@ -313,6 +323,8 @@ public class BORtngudrefndService {
log.debug("상태 업데이트 파라미터 확인 : {}", boRtngudrefndVO);
mapper.updateBOOrderReSttusUpdt(boRtngudrefndVO); // 반품/환불 상태값 수정
/* 한화금액이 결제금액보다 많은지 체크하여 환불금액(원화) update */
ordrMapper.updateBOWonRefundAmt(refundVO);
} else if ( "02".equals(boRtngudrefndVO.getRefundProcsSttusCd()) && "02".equals(boRtngudrefndVO.getReturnProcsSttusCd()) ) { // 상품 받은거 확인하고 돈을 입금하지않았을 경우
@@ -321,6 +333,8 @@ public class BORtngudrefndService {
}
mapper.updateBOOrderReSttusUpdt(boRtngudrefndVO); // 반품/환불 상태값 수정
/* 한화금액이 결제금액보다 많은지 체크하여 환불금액(원화) update */
ordrMapper.updateBOWonRefundAmt(refundVO);
} else if ( "03".equals(boRtngudrefndVO.getRefundProcsSttusCd()) && "02".equals(boRtngudrefndVO.getReturnProcsSttusCd()) ) { // 상품 받은거 확인하고
@@ -466,21 +480,35 @@ public class BORtngudrefndService {
Long lordrInnb = Long.valueOf(ordrInnb);
BigInteger intOrdrInnb = BigInteger.valueOf(lordrInnb);
String sopmalCd = refundVO.getSopmalCd();
Integer refundAmt = 0;
Integer refundAmt = 0; //현재 상품환불금액
Integer wonRefundAmt = 0; //현재 상품환불금액(원화)
if (!CollectionUtils.isEmpty(orderReItemVOList)) {
refundAmt = orderReItemVOList.stream()
.mapToInt(BOOrderReItemVO::getGoodsRefundAmt)
.sum();
} else {
refundAmt = Integer.parseInt(refundVO.getRefundAmt()); // 현재 환불 금액
refundAmt = Integer.parseInt(refundVO.getRefundAmt()); // 현재 상품환불금액
}
wonRefundAmt = Integer.parseInt(refundVO.getWonRefundAmt()); //현재 상품환불금액(원화)
DataMap beforeRefund = mapper.selectBOORderRefundAmtSumInqire(refundVO);
Integer orderRefundAmtSum = 0; // 해당주문의 이전 총환불금액
Integer wonOrderRefundAmtSum = 0; // 해당주문의 이전 총환불금액(원화)
if(!ObjectUtils.isEmpty(beforeRefund)) {
orderRefundAmtSum = ((BigDecimal) beforeRefund.get("orderRefundAmtSum")).intValue(); // 해당주문의 이전 총환불금액
wonOrderRefundAmtSum = ((BigDecimal)beforeRefund.get("wonOrderRefundAmtSum")).intValue(); // 해당주문의 이전 총환불금액(원화)
}
Integer orderRefundAmtSum = mapper.selectBOORderRefundAmtSumInqire(refundVO); // 해당 주문의 총 환불금액
Integer dlvyAmtRefundAmt = 0; // 최종 배송비 처리 금액 ( 환불 배송비, 반품 배송비 조건에 따라 변동 )
Integer wonDlvyAmtRefundAmt = 0; // 최종 배송비 처리 금액 ( 환불 배송비, 반품 배송비 조건에 따라 변동 )
Integer refundDlvyAmt = 0; // 환불 배송비 금액
Integer wonRefundDlvyAmt = 0; // 환불 배송비 금액
Integer finalRefundAmt = 0;
Integer finalWonRefundAmt = 0;
finalRefundAmt = refundAmt;
finalWonRefundAmt = wonRefundAmt;
try {
@@ -506,16 +534,19 @@ public class BORtngudrefndService {
*/
refundDlvyAmt = Integer.parseInt(refundVO.getRefundDlvyAmt());
wonRefundDlvyAmt = Integer.parseInt(refundVO.getWonRefundDlvyAmt());
log.debug("여기 아래부터 배송비랑 환불금액 산정하는데 그전에 refundVO 데이터 확인 : {}", refundVO);
if ("01".equals(refundVO.getRefundTyCd())) {
refundAmt += refundDlvyAmt; // 환불 배송비 포함 반품
wonRefundAmt += wonRefundDlvyAmt;
refundVO.setDlvyAmtRefundAmt("0");
} else if ("02".equals(refundVO.getRefundTyCd())) {
dlvyAmtRefundAmt = Integer.parseInt(refundVO.getReturnDlvyAmt());
wonDlvyAmtRefundAmt = Integer.parseInt(refundVO.getWonReturnDlvyAmt());
// 배송비 책임
if ("01".equals(refundVO.getReturnDlvyRspnsblCd())) { // 구매자 책임
@@ -530,12 +561,14 @@ public class BORtngudrefndService {
if ("02".equals(refundVO.getReturnDlvyPymntTyCd()) && refundVO.getReturnDlvyAmt() != null) { // 환불금액에서 차감
// refundAmt -= dlvyAmtRefundAmt;
refundAmt = refundAmt - dlvyAmtRefundAmt > 0 ? refundAmt - dlvyAmtRefundAmt : 0;
wonRefundAmt = wonRefundAmt - wonDlvyAmtRefundAmt > 0 ? wonRefundAmt - wonDlvyAmtRefundAmt : 0;
}
refundVO.setDlvyAmtRefundAmt(StringUtil.isNullToString(dlvyAmtRefundAmt));
} else if ("02".equals(refundVO.getReturnDlvyRspnsblCd())) { // 판매자
refundAmt += refundDlvyAmt; // 환불 배송비 포함 반품
wonRefundAmt += wonRefundDlvyAmt;
refundVO.setDlvyAmtRefundAmt("0");
}
@@ -568,13 +601,23 @@ public class BORtngudrefndService {
log.info("setle : {}", setle);
Integer setleAmt = setle.getSetleAmt(); // 결제금액
Integer wonSetleAmt = setle.getWonSetleAmt(); // 결제금액(원화)
Integer remMnyAmt = setleAmt - orderRefundAmtSum;
log.info("이번 환불 결제건에서 환불할 금액 확인 remMnyAmt : {}", remMnyAmt);
log.info("이번 환불 결제건에서 환불할 금액 확인 refundAmt : {}", refundAmt);
log.info("이번 환불 결제건에서 환불할 금액 확인 orderRefundAmtSum : {}", orderRefundAmtSum);
Integer wonRemMnyAmt = wonSetleAmt - wonOrderRefundAmtSum;
log.info("이번 환불 결제건에서 환불할 금액 확인 remMnyAmt : {}, {}", remMnyAmt, wonRemMnyAmt);
log.info("이번 환불 결제건에서 환불할 금액 확인 refundAmt : {}, {}", refundAmt, wonRefundAmt);
log.info("이번 환불 결제건에서 환불할 금액 확인 orderRefundAmtSum : {}, {}", orderRefundAmtSum, wonOrderRefundAmtSum);
Integer cancelAmt = 0; // 취소금액
Integer wonCancelAmt = 0; // 취소금액(원화)
// 환불금액, 결제금액 - (이전환불금액 - 환불금액)
cancelAmt = Math.min(refundAmt, setleAmt - (orderRefundAmtSum - refundAmt));
log.info("이번 환불 결제건에서 환불할 금액 확인 cancelAmt : {}", cancelAmt);
wonCancelAmt = Math.min(wonRefundAmt, wonSetleAmt - (wonOrderRefundAmtSum - wonRefundAmt));
log.info("이번 환불 결제건에서 환불할 금액 확인 cancelAmt : {}, {}", cancelAmt, wonCancelAmt);
Integer receiptCancelAmt = cancelAmt; // 현금영수증 취소금액
log.info("이번 환불 결제건에서 환불할 현금영수증 GC 머니 추가 전 금액 확인 receiptCancelAmt : {}", receiptCancelAmt);
@@ -734,6 +777,7 @@ public class BORtngudrefndService {
}
/************************** KCP 환불 코드 세팅 END *************************/
// 02:무통장계좌이체, 08:마일리지, 13:수동
if ("02".equals(setle.getSetleTyCd()) || "08".equals(setle.getSetleTyCd()) || "13".equals(setle.getSetleTyCd())) {
if ("02".equals(setle.getSetleTyCd())) { // 무통장입금
@@ -788,9 +832,7 @@ public class BORtngudrefndService {
// TODO :
} else if ("08".equals(setle.getSetleTyCd())) { // 마일리지
// 마일리지 사용취소로 처리
} else if ("09".equals(setle.getSetleTyCd())) {
} else if ("09".equals(setle.getSetleTyCd())) {
// 포스 환불은 포스기계쪽에서 처리됌 GCONE 에서는 데이터 처리만 진행
} else if ("11".equals(setle.getSetleTyCd())) { // TODO : 복합 결제 취소 로직 확인 필요
@@ -812,9 +854,9 @@ public class BORtngudrefndService {
payVO.setCancelReason(refundVO.getRefundResnCn()); // 취소사유
if ("01".equals(refundVO.getRefundScopeCd())) {
payVO.setCancelAmount(String.valueOf(cancelAmt)); // 취소금액 ( 금액이 없으면 전체취소 )
payVO.setCancelAmount(String.valueOf(wonCancelAmt)); // 취소금액 ( 금액이 없으면 전체취소 )
} else if ("02".equals(refundVO.getRefundScopeCd())) {
payVO.setCancelAmount(String.valueOf(cancelAmt)); // 취소금액 ( 금액이 없으면 전체취소 )
payVO.setCancelAmount(String.valueOf(wonCancelAmt)); // 취소금액 ( 금액이 없으면 전체취소 )
}
payVO.setBank(refundVO.getRefundAcntBnnkCd()); // 환불 은행코드
@@ -841,10 +883,12 @@ public class BORtngudrefndService {
payVO.setMId(setle.getSetleMid()); // 결제 MID(상점키)
payVO.setPaymentKey(setle.getDelngNb()); // 거래번호
log.info("토스 취소 파라미터 확인 : {}", payVO);
setleCancelResultMessage = payService.cancelTossPay(payVO);
log.info("결제 취소 API 결과 확인 : {}", setleCancelResultMessage);
log.info("결제 취소 API 결과 확인 : {}", setleCancelResultMessage.get("response"));
String jsonString = (String) setleCancelResultMessage.get("response");
ObjectMapper objectMapper = new ObjectMapper();
responseMap = objectMapper.readValue(jsonString, Map.class);
@@ -984,7 +1028,7 @@ public class BORtngudrefndService {
payVO.setSetleTyCd(setle.getSetleTyCd()); // 결제 유형 코드
payVO.setCancelReason(refundVO.getRefundResnCn()); // 취소사유
payVO.setCancelAmount(String.valueOf(cancelAmt)); // 취소금액 ( 금액이 없으면 전체취소 )
payVO.setCancelAmount(String.valueOf(wonCancelAmt)); // 취소금액 ( 금액이 없으면 전체취소 )
payVO.setBank(refundVO.getRefundAcntBnnkCd()); // 계좌 입금 후 취소시 환불은행코드?
payVO.setAccountNumber(refundVO.getRefundAcntnb()); // 환불 계좌번호
@@ -992,8 +1036,8 @@ public class BORtngudrefndService {
payVO.setTno(setle.getDelngNb()); // 거래번호
payVO.setModType(refundModeType); // 전체 취소, 부분 취소
payVO.setModMny(String.valueOf(cancelAmt)); // 부분취소 요청 금액
payVO.setRemMny(String.valueOf(remMnyAmt)); // 부분취소 가능 금액
payVO.setModMny(String.valueOf(wonCancelAmt)); // 부분취소 요청 금액
payVO.setRemMny(String.valueOf(wonRemMnyAmt)); // 부분취소 가능 금액
payVO.setSubModType(sub_mod_type); // 전체 취소, 부분 취소
@@ -1202,6 +1246,7 @@ public class BORtngudrefndService {
// ########################################### 최종 반품/환불 상태변경 ###########################################
boRtngudrefndVO.setRefundAmt(String.valueOf(finalRefundAmt));
boRtngudrefndVO.setWonRefundAmt(String.valueOf(finalWonRefundAmt));
boRtngudrefndVO.setDlvyAmtRefundAmt(refundVO.getDlvyAmtRefundAmt());
boRtngudrefndVO.setRefundProcsSttusCd("03");
log.debug("환불 상태값이랑 정보 수정하기 전 boRtngudrefndVO :: {}", boRtngudrefndVO);

View File

@@ -23,6 +23,8 @@ public class BORefundSetleVO extends AbstractVO {
private Integer setleAmt;
private Integer wonSetleAmt;
private String pgCmpnyNm;
private String pgInnb;

View File

@@ -15,7 +15,7 @@ public class BORtngudrefndVO extends AbstractVO{
private String ordrDlvyInnb;
private String[] ordrDlvyInnbArr;
//쇼핑몰코드
/**쇼핑몰코드*/
private String sopmalCd;
//TODO:: 추후 SESSION에서 처리 사용자,관리자 구분
private String usrDv;
@@ -25,69 +25,71 @@ public class BORtngudrefndVO extends AbstractVO{
private String orderReInnb;
private String refundCd; // 환불 코드 번호
private String orderRefundInnb;
/*주문고유번호*/
/**주문고유번호*/
private String ordrInnb;
/*환불신청일시*/
/**환불신청일시*/
private String refundReqstDt;
/*환불완료일시*/
/**환불완료일시*/
private String refundComptDt;
/*신청(request), 처리중(ing), 완료(complete)*/
/**신청(request), 처리중(ing), 완료(complete)*/
private String refundProcsSttusCd;
/*신청(request), 처리중(ing), 완료(complete) 이전 상태 */
/**신청(request), 처리중(ing), 완료(complete) 이전 상태 */
private String oldRefundProcsSttusCd;
/*결제취소(cancel_payment),반품환불(return),배송비환불(shipping_price)*/
/**결제취소(cancel_payment),반품환불(return),배송비환불(shipping_price)*/
private String refundTyCd;
/*전체취소(full), 부분취소(partial)*/
/**전체취소(full), 부분취소(partial)*/
private String refundScopeCd;
/*환불사유내용*/
/**환불사유내용*/
private String refundResnCn;
/*계좌이체(account), 무통장(bank), 신용카드(card), 수동(manual), ?(payco_coupon), 포스기기(pos)*/
/**계좌이체(account), 무통장(bank), 신용카드(card), 수동(manual), ?(payco_coupon), 포스기기(pos)*/
private String refundMthCd;
/** 환불계좌은행코드 */
private String refundAcntBnnkCd; // 환불계좌은행코드
/*환불계좌은행명*/
/**환불계좌은행명*/
private String refundAcntBnnkNm;
/*환불계좌예금주명*/
/**환불계좌예금주명*/
private String refundAcntDpstrNm;
/*환불계좌번호*/
/**환불계좌번호*/
private String refundAcntnb;
/*환불금액*/
/**환불금액*/
private String refundAmt;
/*환불적립금액*/
/**환불금액(원화)*/
private String wonRefundAmt;
/**환불적립금액*/
private Integer refundAccmlmnyAmt;
/*배송비환불총금액*/
/**배송비환불총금액*/
private Integer dlvyAmtTotRefundAmt;
/*쿠폰할인보정금액*/
/**쿠폰할인보정금액*/
private Integer coupDscntRevisnAmt;
/*적립금보정금액*/
/**적립금보정금액*/
private Integer accmlmnyRevisnAmt;
/*에누리보정금액*/
/**에누리보정금액*/
private Integer enuriRevisnAmt;
/*적립금유효일자*/
/**적립금유효일자*/
private String accmlmnyValidDe;
/*다운로드쿠폰 고유번호*/
/**다운로드쿠폰 고유번호*/
private String dwldCouponInnb;
/*상태메모내용*/
/**상태메모내용*/
private String sttusMemoCn;
/*관리자메모내용*/
/**관리자메모내용*/
private String mngrMemoCn;
/*관리자 고유번호*/
/**관리자 고유번호*/
private String mngrInnb;
/*스마트쇼핑환불신청일시*/
/**스마트쇼핑환불신청일시*/
private String smrtShopngRefndReqstDt;
/*스마트쇼핑환불완료일시*/
/**스마트쇼핑환불완료일시*/
private String smrtShopngRefndComptDt;
/*cancel_done, refund_request*/
/**cancel_done, refund_request*/
private String smrtShopngRefndProcsSttusCd;
/*스마트쇼핑클레임발생금액*/
/**스마트쇼핑클레임발생금액*/
private Integer smrtShopngClaimOccrrncAmt;
/*스마트쇼핑초도배송비금액*/
/**스마트쇼핑초도배송비금액*/
private Integer smrtShopngFrsttmeDlvyAmtAmt;
/*반품환불보류상품번호내용*/
/**반품환불보류상품번호내용*/
private String returnRefndDferGoodsNbCn;
/*사용여부*/
/**사용여부*/
private String useAt;
/*처리대상자 구분*/
/**처리대상자 구분*/
private String procsTargetDv;
private String returnCd; // 반품 코드
/**신청(request), 완료(complete), 철회(retraction)*/
@@ -108,6 +110,8 @@ public class BORtngudrefndVO extends AbstractVO{
private String returnCstmrMbtlnb;
/** 반품배송비금액 */
private String returnDlvyAmt;
/** 반품배송비금액(원화) */
private String wonReturnDlvyAmt;
/** company,provider */
private String returnDlvyAmtRecptTrgetCd;
/**구매자(buyer), 판매자(seller)*/
@@ -144,10 +148,14 @@ public class BORtngudrefndVO extends AbstractVO{
private String smrtShopngReturnProcsSttusCd;
/** 배송비환불금액 */
private String dlvyAmtRefundAmt;
/** 배송비환불금액(원화) */
private String wonDlvyAmtRefundAmt;
/** 지번 or 도로명 주소 */
private String lnbOrRnmAdres;
/** 환불배송비총금액 */
private String refundDlvyAmt;
/** 환불배송비총금액(원화) */
private String wonRefundDlvyAmt;
/** 반품 환불 상품 옵션 리스트 */
private List<BOOrderReItemVO> orderReItemVOList;
/**상세 내용*/
@@ -167,11 +175,11 @@ public class BORtngudrefndVO extends AbstractVO{
public String endDt;
//날짜 검색 구분
private String srchDtDv;
//** 반품처리상태 */
/** 반품처리상태 */
private String[] srchReturnProcsStuusCd;
//** 환불처리상태 */
/** 환불처리상태 */
private String[] srchRefundProcsSttusCd;
//** 회수방법(반품) */
/** 회수방법(반품) */
private String srchReturnMthCd;
/**검색시작일*/
public String srchStartDate;
@@ -189,9 +197,9 @@ public class BORtngudrefndVO extends AbstractVO{
private String mbtlnb;
/** 회원타입코드 */
private String mbrTyCd;
/*시크릿 키*/
/**시크릿 키*/
private String secretKey;
/*회원 사이트정보 갱신용*/
/**회원 사이트정보 갱신용*/
private String siteMbrInnb;
private String siteMbrDvCd;
@@ -200,7 +208,7 @@ public class BORtngudrefndVO extends AbstractVO{
/** 실 환불 GC 머니 금액 */
private String prosbleCancelCashAmt;
//** 반품처리상태 */
/** 반품처리상태 */
private String[] returnProcsStuusCd;
private String serverDv;

View File

@@ -1067,7 +1067,7 @@ public class MyMbrController {
*/
@Policy(AuthPolicy.RESTRICTED)
@PostMapping(value="/updateDlvylcUpdt", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> updateDlvylcUpdt(@Validated DlvylcVO dlvylcVO, BOCrmDlvylcVO crmDlvylcVO, BindingResult bindingResult){
public ResponseEntity<WnbtResponse> updateDlvylcUpdt(@Validated DlvylcVO dlvylcVO, BindingResult bindingResult, BOCrmDlvylcVO crmDlvylcVO){
//입력값 정합성 점검결과 처리
if(bindingResult.hasErrors()) {
throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource));
@@ -1078,7 +1078,19 @@ public class MyMbrController {
mbtlnb = mbtlnb.replace("-", "");
int mbtlnbLen = mbtlnb.length();
if (!(mbtlnbLen >= 8 && mbtlnbLen <= 12)) {
throw new WnbtRestException("번호는 8자~12자 입니다.");
throw new WnbtRestException("휴대전화번호는 8자 이상 12자 이하만 입력할 수 있습니다.");
}
//개인통관번호 정합성 체크
if("KR".equals(crmDlvylcVO.getDlvylcAreaCd())) {
String cstmclerCd = crmDlvylcVO.getCstmclerCd();
String cstmclerCdReg = "^P\\d{12}$";
if (cstmclerCd == null || cstmclerCd.trim().isEmpty()) {
throw new WnbtRestException("개인통관번호은(는) 필수 입력값입니다.");
}else if (!cstmclerCd.matches(cstmclerCdReg)) {
throw new WnbtRestException("개인통관번호는 P로 시작하는 13자리 부호만 입력할 수 있습니다.");
}
}
//도로명 지번 분기처리 하여 vo에 set함
@@ -1135,7 +1147,7 @@ public class MyMbrController {
*/
@Policy(AuthPolicy.RESTRICTED)
@PostMapping(value="/insertDlvylcRegist", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> insertDlvylcRegist(@Validated DlvylcVO dlvylcVO, BOCrmDlvylcVO crmDlvylcVO, BindingResult bindingResult){
public ResponseEntity<WnbtResponse> insertDlvylcRegist(@Validated DlvylcVO dlvylcVO, BindingResult bindingResult, BOCrmDlvylcVO crmDlvylcVO){
//입력값 정합성 점검결과 처리
if(bindingResult.hasErrors()) {
throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource));
@@ -1146,7 +1158,19 @@ public class MyMbrController {
mbtlnb = mbtlnb.replace("-","");
int mbtlnbLen = mbtlnb.length();
if(!(mbtlnbLen >= 8 && mbtlnbLen <= 12)){
throw new WnbtRestException("번호는 8자~12자 입니다.");
throw new WnbtRestException("휴대전화번호는 8자 이상 12자 이하만 입력할 수 있습니다.");
}
//개인통관번호 정합성 체크
if("KR".equals(crmDlvylcVO.getDlvylcAreaCd())) {
String cstmclerCd = crmDlvylcVO.getCstmclerCd();
String cstmclerCdReg = "^P\\d{12}$";
if (cstmclerCd == null || cstmclerCd.trim().isEmpty()) {
throw new WnbtRestException("개인통관번호은(는) 필수 입력값입니다.");
}else if (!cstmclerCd.matches(cstmclerCdReg)) {
throw new WnbtRestException("개인통관번호는 P로 시작하는 13자리 부호만 입력할 수 있습니다.");
}
}
crmDlvylcVO.setServerDv("sopmal");

View File

@@ -17,9 +17,10 @@ public class DlvylcVO extends AbstractVO{
/**회원구분코드*/
private String mbrDvCd;
/** 배송지설명내용 */
@NotBlank(message = "배송지 설명")
@NotBlank(message = "배송지명")
private String dlvylcDcCn;
/**배송지역코드*/
@NotBlank(message = "배송지역코드")
private String dlvylcAreaCd;
/** 받는사람명 */
@NotBlank(message = "받으시는 분")
@@ -32,7 +33,7 @@ public class DlvylcVO extends AbstractVO{
private String telnb;
/** 우편번호 */
@NotBlank(message = "우편번호")
@Length(min=1, max=7)
@Length(min=1, max=7, message="우편번호")
private String zip;
/** 도로명,지번 구분 */
private String adresDv;

View File

@@ -171,6 +171,26 @@ public class MyOrdrController {
return Util.getDeviceType(request) + "/mpage/ordr/SubsvcOrdrDlvyListRForm";
}
/**
* 마이 페이지 > MY쇼핑 > 마이페이지 > 주문/배송 목록 조회
* @param ordrDlvyVO
* @return ResponseEntity<WnbtResponse>
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMbrSubsvcOrdrListInqireMapge")
public String selectMbrSubsvcOrdrListInqireMapge(ModelMap model, BOOrdrDlvyVO ordrDlvyVO) {
Map<String, Object> content = selectBOMbrSubsvcOrdrListInqireAjax(ordrDlvyVO);
model.addAttribute("data", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOMbrOrdrListInqireAjax", ordrDlvyVO),
// model,
// "data"
// );
return "sopmal/mpage/ordr/SubsvcOrdrDlvyListMpageRList";
}
/**
* 마이 페이지 > MY쇼핑 > 구독서비스 주문/배송 > 구독서비스 주문/배송 목록 조회
* @param ordrDlvyVO
@@ -208,10 +228,12 @@ public class MyOrdrController {
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMbrSubsvcOrdrDtlInqire")
public String selectMbrSubsvcOrdrDtlInqire(HttpServletRequest request, ModelMap model, BOOrdrDlvyVO ordrDlvyVO, BOMbrVO vo) throws Exception {
public String selectMbrSubsvcOrdrDtlInqire(HttpServletRequest request, ModelMap model, BOOrdrDlvyVO ordrDlvyVO, BOMbrVO vo, BORtngudrefndVO boRtngudrefndVO) throws Exception {
boRtngudrefndVO.setServerDv("sopmal");
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if ("01".equals(user.getSysDvCd())) {
ordrDlvyVO.setSopmalCd(user.getSopmalCd());
boRtngudrefndVO.setSopmalCd(user.getSopmalCd());
}
Map<String, Object> message = boOrdrService.selectMbrOrdrDtlInqire(ordrDlvyVO);
/**발급대상구분코드*/
@@ -228,6 +250,13 @@ public class MyOrdrController {
// );
model.addAttribute("paramVO", new ObjectMapper().writeValueAsString(ordrDlvyVO));
model.addAttribute("vo", ordrDlvyVO);
/**환불내역이 있으면 정보조회*/
if(message.get("order") != null && ((DataMap)message.get("order")).get("orderReInnb") != null && !"".equals(((DataMap)message.get("order")).get("orderReInnb"))){
boRtngudrefndVO.setOrderReInnb((String)((DataMap)message.get("order")).get("orderReInnb"));
Map<String, Object> refund = new HashMap<String, Object>();
refund.put("result", boRtngudrefndService.selectBORtngudRefndDtlInqire(boRtngudrefndVO));
model.addAttribute("resultMap", refund);
}
// 마이페이지 > 상단 회원 정보 ( 등금, 이름, 마일리지, 쿠폰, 위시리스트, 배송중, 등급산정기준 )
Map<String, Object> content = selectBOMpageInfoInqire(vo);
@@ -758,7 +787,7 @@ public class MyOrdrController {
// model,
// "resultMap"
// );
model.addAttribute("paramVO", boRtngudrefndVO);
model.addAttribute("paramVO", new ObjectMapper().writeValueAsString(boRtngudrefndVO));
// 마이페이지 > 상단 회원 정보 ( 등금, 이름, 마일리지, 쿠폰, 위시리스트, 배송중, 등급산정기준 )
Map<String, Object> content2 = selectBOMpageInfoInqire(vo);

View File

@@ -3,7 +3,7 @@ package com.wb.domainserver.domain.sopmal.ordr.controller;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.nimbusds.jose.shaded.gson.Gson;
import com.wb.domainserver.common.msg.GconeMessageSource;
import com.wb.domainserver.common.msg.GconeMessageSource;
import com.wb.domainserver.common.mvc.tags.ui.pagination.PaginationInfo;
import com.wb.domainserver.common.prop.PaginationProperties;
import com.wb.domainserver.domain.admin.instcSle.mtng.service.BOMaMtngService;
@@ -20,12 +20,13 @@ import com.wb.domainserver.domain.gcone.goods.goods.service.BOGoodsService;
import com.wb.domainserver.domain.gcone.goods.purchs.service.BOOrderService;
import com.wb.domainserver.domain.gcone.goods.purchs.service.BOPurchsService;
import com.wb.domainserver.domain.gcone.goods.purchs.vo.*;
import com.wb.domainserver.domain.gcone.goods.subsvc.service.BOSubsvcService;
import com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO;
import com.wb.domainserver.domain.gcone.mbr.mbr.service.BOMbrService;
import com.wb.domainserver.domain.gcone.mbr.mbr.vo.BOMbrVO;
import com.wb.domainserver.domain.gcone.ordr.dlivy.service.BODlivyService;
import com.wb.domainserver.domain.gcone.ordr.npay.service.BONpayConfigService;
import com.wb.domainserver.domain.gcone.ordr.npay.vo.BONpayConfigVO;
import com.wb.domainserver.domain.gcone.ordr.ordr.service.BOOrderCommonService;
import com.wb.domainserver.domain.gcone.ordr.ordr.service.BOOrdrLogService;
import com.wb.domainserver.domain.gcone.ordr.ordr.service.BOOrdrService;
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOCrmDlvylcVO;
@@ -36,36 +37,27 @@ import com.wb.domainserver.domain.gcone.promtn.coupon.service.BOCouponService;
import com.wb.domainserver.domain.gcone.setup.dlvygrp.service.BODlvygrpService;
import com.wb.domainserver.domain.gcone.setup.nbkk.service.BONbkkService;
import com.wb.domainserver.domain.gcone.setup.site.vo.BOSiteVO;
import com.wb.domainserver.domain.sample.vo.PrevewVO;
import com.wb.domainserver.domain.sopmal.goods.vo.GoodsVO;
import com.wb.domainserver.domain.sopmal.ordr.vo.OrdrVO;
import com.wb.domainserver.domain.sopmal.ordr.vo.PayVO;
import com.wb.domainserver.domain.sopmal.ordr.vo.SpbkVO;
import com.wb.domainserver.domain.sopmal.ordr.vo.OrdrVO;
import com.wb.domainserver.exception.WnbtRestException;
import com.wb.domainserver.exception.code.PurchsValidCode;
import com.wb.domainserver.response.ApiResponse;
import com.wb.domainserver.response.WnbtResponse;
import com.wb.domainserver.response.WnbtResponseBody;
import com.wb.domainserver.response.WnbtWebClientResponseHandler;
import com.wb.domainserver.security.authentication.AnonymousUser;
import com.wb.domainserver.security.authentication.MemberJwtContextHolder;
import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.CookieUtils;
import com.wb.domainserver.util.communicate.RESRC;
import com.wb.domainserver.util.communicate.ReplyFromResrc;
import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.cookie.CookieUtil;
import com.wb.domainserver.util.dataaccess.DataMap;
import com.wb.domainserver.util.string.StringUtil;
import com.wb.domainserver.util.util.Util;
import com.wb.domainserver.response.WnbtResponse;
import com.wb.domainserver.response.WnbtResponseBody;
import com.wb.domainserver.response.WnbtWebClientResponseHandler;
import com.wb.domainserver.security.authentication.AnonymousUser;
import com.wb.domainserver.security.authentication.MemberJwtContextHolder;
import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.cookie.CookieUtil;
import com.wb.domainserver.util.dataaccess.DataMap;
import com.wb.domainserver.util.string.StringUtil;
import com.wb.domainserver.util.util.Util;
import jakarta.servlet.http.Cookie;
import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.apache.logging.log4j.util.Base64Util;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
@@ -74,7 +66,10 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import java.io.InputStream;
import java.io.InputStreamReader;
@@ -136,6 +131,8 @@ public class OrdrController {
private BOMaMtngService boMaMtngService;
@Autowired
private BOPurchsService boPurchsService;
@Autowired
private BOSubsvcService subsvcService;
/* ####################################
사용자 > 상품 > 구매/결제 > 회원구매하기 시작
@@ -399,6 +396,134 @@ public class OrdrController {
// );
}
/* ####################################
사용자 > 구독상품 > 구매/결제 > 회원구매하기 시작
#################################### */
/**
* 사용자 > 구독상품 > 구매/결제 > 구독서비스 결제 > 구독서비스 결제 화면 이동
* @return SubsvcPurchsC.jsp
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectSubsvcPurchsForm")
public String selectSubsvcSetleInqire(HttpServletRequest request, ModelMap model, BOOrdrVO ordrVO) throws Exception {
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
//결재 플랫폼 구분 코드
ordrVO.setSetlePltfomTyCd("PC".equals(request.getAttribute("env"))?"01":"02");
//약관정보 세팅
BOStplatVO stplatVO = new BOStplatVO();
stplatVO.setPageIndex(1);
stplatVO.setPageUnit(paginationProperties.getPageUnit());
stplatVO.setNmbrPurchsAt("Y");
stplatVO.setSrchSopmalCd(user.getSopmalCd());
DataMap stplat = selectBOStplatListInqire(stplatVO);
//주문 상품정보 세팅
if ("01".equals(user.getSysDvCd())) {
ordrVO.setSopmalCd(user.getSopmalCd());
}
ordrVO.setMbrInnb(user.getUserInnb());
ordrVO.setMbrId(user.getMbrId());
ordrVO.setMbrDvCd(user.getMbrDvCd());
Map<String, Object> content = service.selectSubsvcPurchs(ordrVO);
model.addAttribute("data", content);
model.addAttribute("paramVO", new ObjectMapper().writeValueAsString(ordrVO));
model.addAttribute("deviceType", Util.getDeviceType(request));
model.addAttribute("stplat", stplat);
return Util.getDeviceType(request) + "/ordr/SubsvcPurchsC";
}
/**
* 사용자 > 구독상품 > 구매/결제 > 구독서비스 결제 > 구독서비스 조회
* @param param
* @return ResponseEntity<WnbtResponse>
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectOrderSubsvcOne", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> selectOrderSubsvcOne(@RequestBody HashMap<String, Object> param) {
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
BOSubsvcVO subsvcVO = new BOSubsvcVO();
if ("01".equals(user.getSysDvCd())) {
subsvcVO.setSopmalCd(user.getSopmalCd());
}
subsvcVO.setSubsvcInnb(String.valueOf(param.get("subsvcInnb")));
DataMap content = subsvcService.selectBOSubsvcDetail(subsvcVO);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
);
}
/**
* 사용자 > 구독상품 > 구매/결제 > 구독서비스 결제 > 결제 예정금액 조회
* @param param
* @return ResponseEntity<WnbtResponse>
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectSubsvcSetleExpectAmt", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> selectSubsvcSetleExpectAmt(HttpServletRequest request, @RequestBody HashMap<String, Object> param) {
String sesionId ="";
Cookie[] cookies = request.getCookies();
if(cookies != null){
for(Cookie cookie : cookies ){
if(cookie.getName().equals("JSESSIONID")){
sesionId = cookie.getValue();
param.put("sesionId", sesionId);
break;
}
}
}
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if ("01".equals(user.getSysDvCd())) {
param.put("sopmalCd", user.getSopmalCd());
param.put("mbrDvCd", user.getMbrDvCd());
param.put("mbrInnb", user.getUserInnb());
}
Map<String, Object> content = new HashMap<>();
try {
DataMap datamap = new DataMap();
param.entrySet().forEach(map -> {
datamap.put(map.getKey(), map.getValue());
});
content = service.selectSubsvcSetleExpectAmt(datamap);
} catch (WnbtRestException wre) {
log.debug("결제예정금액 ordr wre");
log.error(wre.getMessage(), wre);
content = new HashMap<>() {{
put("status", "1");
put("message", wre.getMessage());
put("mlgMxmmUseAmt", wre.getCode());
}};
} catch (Exception e) {
log.debug("결제예정금액 ordr e");
log.error(e.getMessage(), e);
content = new HashMap<>() {{
put("status", "1");
put("message", "예기치 못한 오류가 발생하였습니다.\n관리자에게 문의하시기 바랍니다.");
}};
}
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
);
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOSetleExpectAmt", param),
// ReplyFromResrc::getReply
// );
}
/**
* 관리자 주문 > 브랜드페이 > 토큰발급
@@ -3009,13 +3134,7 @@ public class OrdrController {
return content;
}
} else {
// if (CollectionUtils.isEmpty(multiOrdrDlvylc)) {
// log.info("배송지 정보를 찾을 수 없습니다.");
// content.put("result","Y");
// content.put("message", "배송지 정보를 찾을 수 없습니다.");
// // throw new WnbtRestException("주문유형 정보를 찾을 수 없습니다.");
// return content;
// }
// 여러곳배송처럼 처리하더라도 주소는 하나이므로 shipping 체크
if (CollectionUtils.isEmpty(shipping)) {
log.info("배송지 정보를 찾을 수 없습니다.");
content.put("result","Y");
@@ -3052,70 +3171,6 @@ public class OrdrController {
String[] receptMbtlnbArray = null; // 배송지 받는이 휴대폰번호
if ("01".equals(ordrTyCd) || "03".equals(ordrTyCd) || "06".equals(ordrTyCd)) { // 일반주문, 회원개인결제, 정기배송
// if (!CollectionUtils.isEmpty(multiOrdrDlvylc)) {
//
// // 배송지 리스트
// List<LinkedHashMap<String, Object>> dlvylcListMulti = (List<LinkedHashMap<String, Object>>) multiOrdrDlvylc.get("dlvylc");
//
// /** ----------------------------------------------- 배송지별 주문 상품 수량 검사 START ----------------------------------------------- */
// content = checkDistributedQyMatchesOrder(goodsList, dlvylcListMulti);
// if (!"0".equals(content.get("status"))) {
// return content;
// }
// /** ----------------------------------------------- 배송지별 주문 상품 수량 검사 END ----------------------------------------------- */
//
// // 부정판매 체크를 위한 배송지 정렬
// if (!CollectionUtils.isEmpty(dlvylcListMulti)) {
//
// boolean hasInvalidAddress = dlvylcListMulti.stream().anyMatch(map -> {
// String dlvylcZip = StringUtil.isNullToString(map.get("dlvylcZip"));
// String adresDvCd = StringUtil.isNullToString(map.get("dlvylcAdresDvCd"));
// String dlvylcLnbAdres = StringUtil.isNullToString(map.get("dlvylcLnbAdres"));
// String dlvylcRnmAdres = StringUtil.isNullToString(map.get("dlvylcRnmAdres"));
// String adresDtl = StringUtil.isNullToString(map.get("dlvylcAdresDtl"));
//
// return StringUtil.isEmpty(dlvylcZip)
// || StringUtil.isEmpty(adresDvCd)
// || ("01".equals(adresDvCd) && StringUtil.isEmpty(dlvylcRnmAdres))
// || ("02".equals(adresDvCd) && StringUtil.isEmpty(dlvylcLnbAdres))
// || StringUtil.isEmpty(adresDtl);
// });
//
// if (hasInvalidAddress) {
// content.put("result","Y");
// content.put("message", "배송지 정보를 찾을 수 없습니다. 다시 시도해 주세요.");
// return content;
// }
//
// List<String> adresList = dlvylcListMulti.stream()
// .map(map -> {
// String adresDvCd = StringUtil.isNullToString(map.get("dlvylcAdresDvCd"));
// String adresDtl = StringUtil.isNullToString(map.get("dlvylcAdresDtl"));
// String dlvylcLnbAdres = StringUtil.isNullToString(map.get("dlvylcLnbAdres"));
// String dlvylcRnmAdres = StringUtil.isNullToString(map.get("dlvylcRnmAdres"));
// String adresMulti;
// if ("01".equals(adresDvCd)) {
// adresMulti = dlvylcRnmAdres + " " + adresDtl;
// } else {
// adresMulti = dlvylcLnbAdres + " " + adresDtl;
// }
//
// return adresMulti;
// })
// .collect(Collectors.toList());
//
// adresArray = adresList.toArray(new String[0]);
//
// List<String> receptMbtlnbList = dlvylcListMulti.stream()
// .map(map -> {
// return StringUtil.isNullToString(map.get("recpntMbtlnb"));
// })
// .collect(Collectors.toList());
//
// receptMbtlnbArray = receptMbtlnbList.toArray(new String[0]);
//
// }
// }
if (
StringUtil.isEmpty((String) shipping.get("dlvylcZip")) ||
StringUtil.isEmpty((String) shipping.get("dlvylcAdresDvCd")) ||

View File

@@ -57,7 +57,7 @@ import java.util.stream.Collectors;
import static org.springframework.beans.factory.config.BeanDefinition.ROLE_INFRASTRUCTURE;
@EnableWebSecurity(debug = true)
@EnableWebSecurity
@Configuration
//@EnableMethodSecurity
public class ResourceServerConfig {

View File

@@ -85,7 +85,7 @@ spring:
show-sql: true
servlet:
multipart:
max-file-size: 10MB
max-file-size: 15MB
max-request-size: -1
mybatis:

View File

@@ -85,7 +85,7 @@ spring:
show-sql: true
servlet:
multipart:
max-file-size: 10MB
max-file-size: 15MB
max-request-size: -1
mybatis:

View File

@@ -24,6 +24,8 @@
, ORDR_TY_CD
, RL_SETLE_AMT
, ENURI_AMT
, WON_RL_SETLE_AMT
, BUY_RATE
, ORDRR_NM
, ORDRR_TELNB
, ORDRR_MBTLNB
@@ -84,6 +86,8 @@
, #{ordrTyCd}
, #{rlSetleAmt}
, #{enuriAmt}
, #{wonRlSetleAmt}
, #{buyRate}
, #{ordrrNm}
, HEX(AES_ENCRYPT(REPLACE(#{ordrrTelnb}, '-', ''), '1df5be2f7e90ae36'))
, HEX(AES_ENCRYPT(REPLACE(#{ordrrMbtlnb}, '-', ''), '1df5be2f7e90ae36'))
@@ -386,7 +390,10 @@
, ORDR_STTUS_CD
, RECPNT_NM
, RECPNT_MBTLNB
, DLVYLC_AREA_CD
, CSTMCLER_CD
, DLVYLC_ZIP
, PREFCD
, DLVYLC_ADRES_DV_CD
, DLVYLC_LNB_ADRES
, DLVYLC_RNM_ADRES
@@ -422,7 +429,10 @@
, #{ordrSttusCd}
, #{recpntNm}
, HEX(AES_ENCRYPT(REPLACE(#{recpntMbtlnb}, '-', ''), '1df5be2f7e90ae36'))
, #{dlvylcAreaCd}
, #{cstmclerCd}
, #{dlvylcZip}
, #{prefcd}
, #{dlvylcAdresDvCd}
, #{dlvylcLnbAdres}
, #{dlvylcRnmAdres}
@@ -461,6 +471,7 @@
, SOPMAL_CD
, ORDR_INNB
, SETLE_AMT
, WON_SETLE_AMT
, PG_CMPNY_NM
, SETLE_TY_CD
, PG_INNB
@@ -485,6 +496,7 @@
, #{sopmalCd}
, #{ordrInnb}
, #{setleAmt}
, #{wonSetleAmt}
, #{pgCmpnyNm}
, #{setleTyCd}
, #{pgInnb}
@@ -1280,6 +1292,7 @@ FROM (
ELSE FDA.LNB_ADRES
END ADRES
, FDA.DTL_ADRES
, FDA.CSTMCLER_CD
FROM GC_DELIVERY_ADDRESS FDA
WHERE FDA.MBR_INNB = #{mbrInnb}
AND FDA.MBR_DV_CD = #{mbrDvCd}
@@ -2673,6 +2686,14 @@ FROM (
AND FO.SOPMAL_CD = #{sopmalCd}
</select>
<!-- 관리자 주문 > 실결제금액조회 -->
<select id="selectWonRlSetleAmt" parameterType="dataMap" resultType="String">
SELECT FLOOR (FO.WON_RL_SETLE_AMT) AS RL_SETLE_AMT
FROM GC_ORDER FO
WHERE FO.ORDR_INNB = #{ordrInnb}
AND FO.SOPMAL_CD = #{sopmalCd}
</select>
<!-- 0원 상품 포함시 짜투리 업데이트 ( 장바구니, 마일리지, 애누리 ) -->
<update id="updateOrdrItemOptnRestAmtUpdt">

View File

@@ -20,6 +20,7 @@
THEN NOW() BETWEEN GS.EXPSR_BGN_DT AND GS.EXPSR_END_DT
ELSE 1=1
END
AND GS.USE_AT = 'Y'
]]>
</select>
@@ -74,60 +75,61 @@
, CAST(@ROWNUM:=@ROWNUM + 1 AS UNSIGNED) AS RNUM
FROM (
SELECT COUNT(*) OVER() AS TOT_CNT
, GC.SUBSVC_INNB
, GC.SOPMAL_CD
, GC.SUBSVC_NM
, GC.SUBSVC_GNR
, GC.SUBSVC_GNR_NM
, GC.DLVY_CNT
, GC.INVNTRY_QY
, GC.INVNTRY_QY - GC.USEFUL_INVNTRY_QY AS AVAIL_QT /*가용제고*/
, GC.SUBSVC_STTUS_CD
, FN_GET_COMMCODE_NAME('GOODS_STTUS', GC.SUBSVC_STTUS_CD) AS SUBSVC_STTUS /*구독서비스 상태*/
, FN_GET_COMMCODE_NAME('EXPSR_DV', GC.EXPSR_DV_CD) AS EXPSR_DV /*노출구분*/
, GC.SUBSVC_CT /*구독료*/
, GC.TME_DLVY_AMT /*1회배송비*/
, GC.CNSMRPRIC /*소비자가*/
, GC.SUBSVC_CT + (TME_DLVY_AMT * DLVY_CNT) as SELPRIC /*실판매가=구독료+(1회배송비X배송횟수)*/
, GC.IMG /*섬네일 이미지*/
, GC.LAST_PROCS_ODR /*최종차수*/
FROM GC_SUBSVC GC
WHERE GC.USE_AT = 'Y'
AND GC.SOPMAL_CD = #{sopmalCd}
, GS.SUBSVC_INNB
, GS.SOPMAL_CD
, CONCAT(GS.SUBSVC_NM, ' (', GS.SUBSVC_GNR_NM, ')') AS SUBSVC_CONCAT_NM
, GS.SUBSVC_NM
, GS.SUBSVC_GNR
, GS.SUBSVC_GNR_NM
, GS.DLVY_CNT
, GS.INVNTRY_QY
, GS.INVNTRY_QY - GS.USEFUL_INVNTRY_QY AS AVAIL_QT /*가용제고*/
, GS.SUBSVC_STTUS_CD
, FN_GET_COMMCODE_NAME('GOODS_STTUS', GS.SUBSVC_STTUS_CD) AS SUBSVC_STTUS /*구독서비스 상태*/
, FN_GET_COMMCODE_NAME('EXPSR_DV', GS.EXPSR_DV_CD) AS EXPSR_DV /*노출구분*/
, GS.SUBSVC_CT /*구독료*/
, GS.TME_DLVY_AMT /*1회배송비*/
, GS.CNSMRPRIC /*소비자가*/
, GS.SUBSVC_CT + (TME_DLVY_AMT * DLVY_CNT) as SELPRIC /*실판매가=구독료+(1회배송비X배송횟수)*/
, GS.IMG /*섬네일 이미지*/
, GS.LAST_PROCS_ODR /*최종차수*/
FROM GC_SUBSVC GS
WHERE GS.USE_AT = 'Y'
AND GS.SOPMAL_CD = #{sopmalCd}
<if test="srchSelSubsvcNm != null and srchSelSubsvcNm != ''">
AND GC.SUBSVC_NM = #{srchSelSubsvcNm} /*구독서비스 명*/
AND GS.SUBSVC_NM = #{srchSelSubsvcNm} /*구독서비스 명*/
</if>
<if test="srchSelSubsvcGnr != null and srchSelSubsvcGnr != ''">
AND GC.SUBSVC_GNR = #{srchSelSubsvcGnr} /*기수*/
AND GS.SUBSVC_GNR = #{srchSelSubsvcGnr} /*기수*/
</if>
<if test="srchSubsvcNm != null and srchSubsvcNm != ''">
AND GC.SUBSVC_NM LIKE CONCAT('%',#{srchSubsvcNm},'%') /*구독서비스 명*/
AND GS.SUBSVC_NM LIKE CONCAT('%',#{srchSubsvcNm},'%') /*구독서비스 명*/
</if>
<if test="srchSubsvcGnrNm != null and srchSubsvcGnrNm != ''">
AND GC.SUBSVC_GNR_NM LIKE CONCAT('%',#{srchSubsvcGnrNm},'%') /*기수명*/
AND GS.SUBSVC_GNR_NM LIKE CONCAT('%',#{srchSubsvcGnrNm},'%') /*기수명*/
</if>
<choose>
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchArrSubsvcSttusCd)">
/*판매상태*/
AND GC.SUBSVC_STTUS_CD IN
AND GS.SUBSVC_STTUS_CD IN
<foreach collection="srchArrSubsvcSttusCd" item="subsvcSttusCd" open="(" close=")" separator=",">
#{subsvcSttusCd}
</foreach>
</when>
</choose>
<if test="srchExpsrDvCd != null and srchExpsrDvCd != ''">
AND GC.EXPSR_DV_CD = #{srchExpsrDvCd} /*노출여부*/
AND GS.EXPSR_DV_CD = #{srchExpsrDvCd} /*노출여부*/
</if>
ORDER BY
<choose>
<when test="sortDv == 'subsvcGnrAsc'">
GC.SUBSVC_NM ASC, SUBSVC_GNR ASC,
GS.SUBSVC_NM ASC, SUBSVC_GNR ASC,
</when>
<otherwise>
GC.SUBSVC_NM DESC, SUBSVC_GNR DESC,
GS.SUBSVC_NM DESC, SUBSVC_GNR DESC,
</otherwise>
</choose>
GC.SUBSVC_INNB ASC
GS.SUBSVC_INNB ASC
) TB
WHERE (@ROWNUM:=0)=0
) PV

View File

@@ -744,6 +744,9 @@
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mbrNm) and mbrNm != ''">
MBR_NM = #{mbrNm},
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mbtlnb)">
MBTLNB = HEX(AES_ENCRYPT(REPLACE(#{mbtlnb},'-',''), #{secretKey})),
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(zip) and zip != ''">
ZIP = #{zip},
ADRES_DV = #{adresDv},

View File

@@ -683,6 +683,7 @@
,FMG.MBR_GRAD_NM -- 회원 등급명
,IFNULL(REGEXP_REPLACE(CAST(AES_DECRYPT(UNHEX(SH.RECPNT_MBTLNB) , '1df5be2f7e90ae36') AS CHAR(50)), '(.{3})(.{4})(.{4})', '$1-$2-$3'), '') AS RECPNT_MBTLNB
,IFNULL(REGEXP_REPLACE(CAST(AES_DECRYPT(UNHEX(O.ORDRR_MBTLNB) , '1df5be2f7e90ae36') AS CHAR(50)), '(.{3})(.{4})(.{4})', '$1-$2-$3'), '') AS ORDRR_MBTLNB
,FN_GET_COMMCODE_NAME('ORDR_STTUS', SH.ORDR_STTUS_CD) AS ORDR_STTUS_NM
]]>
<include refid="dlivyProcsFrom"/>
<include refid="dlivyProcsWhere"/>

View File

@@ -514,7 +514,10 @@
, DATE_FORMAT(FO.ORDR_RCEPT_DT, '%Y-%m-%d %H:%i') AS ORDR_RCEPT_DT -- 주문접수일
, FO.SLE_ENVRN_CD -- 판매환경코드
, FN_GET_COMMCODE_NAME('SLE_ENVRN', FO.SLE_ENVRN_CD) AS SLE_ENVRN_NM
, FN_GET_ORDER_GOODS_NAME(FO.SOPMAL_CD, FO.ORDR_INNB) AS GOODS_NM -- 상품명
, CASE
WHEN FO.SUBSVC_AT = 'Y' THEN CONCAT(GS.SUBSVC_NM,'(', GS.SUBSVC_GNR_NM, ')')
ELSE FN_GET_ORDER_GOODS_NAME(FO.SOPMAL_CD, FO.ORDR_INNB)
END AS GOODS_NM -- 상품명
, FN_GET_ORDER_COUNT(FO.SOPMAL_CD, FO.ORDR_INNB, 'ITEM') AS ITEM_CNT -- 상품 개수
, FN_GET_ORDER_COUNT(FO.SOPMAL_CD, FO.ORDR_INNB, 'ORDER') AS ORDER_CNT -- 상품 종수
, (
@@ -580,6 +583,7 @@
END
)
) BLACK_DV -- 블랙리스트 구분
, FO.SUBSVC_AT
FROM GC_ORDER FO
LEFT JOIN LATERAL (
SELECT FM.MBR_INNB
@@ -597,9 +601,12 @@
AND FMGM.SOPMAL_CD = FO.SOPMAL_CD -- 주문의 회원번호만 등급을 조회하면 되므로 조건을 추가함.
WHERE FM.USE_AT = 'Y'
) MBR ON 1=1
LEFT JOIN GC_ORDER_SETLE FOS -- LEFT 로 다시 변경
ON FOS.SOPMAL_CD = FO.SOPMAL_CD
LEFT JOIN GC_ORDER_SETLE FOS -- LEFT 로 다시 변경
ON FOS.SOPMAL_CD = FO.SOPMAL_CD
AND FOS.ORDR_INNB = FO.ORDR_INNB
LEFT JOIN GC_SUBSVC GS
ON GS.SOPMAL_CD = FO.SOPMAL_CD
AND GS.SUBSVC_INNB = FO.SUBSVC_INNB
WHERE FO.USE_AT = 'Y'
/*AND FO.SUBSVC_AT = 'N'*/
AND FOS.ORDR_INNB IS NOT NULL -- GC_ORDER_SETLE 에 데이터가 있을 때 조건
@@ -996,6 +1003,7 @@
, IFNULL(FOI.MLG_AMT, 0) AS MLG_AMT
, IFNULL(FOS.DLVY_AMT, 0) AS DLVY_AMT
, IFNULL(FO.RL_SETLE_AMT, 0) AS SETLE_AMT
, ROUND(IFNULL(FO.WON_RL_SETLE_AMT, 0)) AS WON_RL_SETLE_AMT
FROM (
SELECT FOI.SOPMAL_CD
, FOI.ORDR_INNB
@@ -1096,6 +1104,7 @@
, FN_GET_COMMCODE_NAME('ORDR_TY', FO.ORDR_TY_CD) AS ordr_ty_nm
, FOI.optn_cd_1
, FOSH.dlvy_mssage_cn
, FN_GET_COMMCODE_NAME('ORDR_STTUS', FOSH.ORDR_STTUS_CD) AS shipping_sttus_nm
FROM GC_ORDER FO
INNER JOIN LATERAL (
SELECT GOI.SOPMAL_CD
@@ -1482,6 +1491,13 @@
END AS SALES_POSBLE_REGIST_AT /* 현금영수증 신청 가능 여부 */
, IF(FO.SMRT_SHOPNG_ORDRNB IS NOT NULL AND FO.SMRT_SHOPNG_ORDRNB != '0', FO.SMRT_SHOPNG_ORDRNB, NULL) AS SMRT_SHOPNG_ORDRNB
, CONCAT(SP.SOPMAL_NM, ' ', STR.STR_NM) AS STR_NM
, (SELECT MAX(CAST(GOR.ORDER_REFUND_INNB AS CHAR))
FROM GC_ORDER_REFUND GOR
WHERE GOR.SOPMAL_CD = FO.SOPMAL_CD
AND GOR.ORDR_INNB = FO.ORDR_INNB
AND GOR.USE_AT = 'Y'
AND GOR.REFUND_PROCS_STTUS_CD = '03' /*처리상태:환불완료*/) AS ORDER_RE_INNB
, FO.SUBSVC_AT
FROM GC_ORDER FO
INNER JOIN (
SELECT FOI.SOPMAL_CD
@@ -1650,8 +1666,10 @@
, REFUND_ACNT_DPSTR_NM
, REFUND_ACNTNB
, REFUND_AMT
, WON_REFUND_AMT
, REFUND_ACCMLMNY_AMT
, REFUND_DLVY_AMT
, WON_REFUND_DLVY_AMT
, MLG_ACCMLMNY_AMT
, MLG_ACCMLMNY_VALID_DT
, ENURI_REVISN_AMT
@@ -1677,6 +1695,7 @@
, RETURN_CSTMR_TELNB
, RETURN_CSTMR_MBTLNB
, RETURN_DLVY_AMT
, WON_RETURN_DLVY_AMT
, RETURN_DLVY_TRGET_CD
, RETURN_DLVY_RSPNSBL_CD
, RETURN_DLVY_PYMNT_TY_CD
@@ -1714,8 +1733,10 @@
, #{refundAcntDpstrNm}
, REPLACE(#{refundAcntnb}, '-', '')
, #{refundAmt}
, ROUND((SELECT GO2.BUY_RATE FROM GC_ORDER GO2 WHERE GO2.SOPMAL_CD = #{sopmalCd} AND GO2.ORDR_INNB = #{ordrInnb}) * #{refundAmt},0)
, #{refundAccmlmnyAmt}
, #{refundDlvyAmt}
, ROUND((SELECT GO2.BUY_RATE FROM GC_ORDER GO2 WHERE GO2.SOPMAL_CD = #{sopmalCd} AND GO2.ORDR_INNB = #{ordrInnb}) * #{refundDlvyAmt},0)
, #{mlgAccmlmnyAmt}
, #{mlgAccmlmnyValidDt}
, #{enuriRevisnAmt}
@@ -1741,6 +1762,7 @@
, HEX(AES_ENCRYPT(REPLACE(#{returnCstmrTelnb}, '-', ''), '1df5be2f7e90ae36'))
, HEX(AES_ENCRYPT(REPLACE(#{returnCstmrMbtlnb}, '-', ''), '1df5be2f7e90ae36'))
, #{returnDlvyAmt}
, ROUND((SELECT GO2.BUY_RATE FROM GC_ORDER GO2 WHERE GO2.SOPMAL_CD = #{sopmalCd} AND GO2.ORDR_INNB = #{ordrInnb}) * #{returnDlvyAmt},0)
, #{returnDlvyTrgetCd}
, #{returnDlvyRspnsblCd}
, #{returnDlvyPymntTyCd}
@@ -1992,6 +2014,71 @@
ORDER BY FOS.ORDR_DLVY_INNB ASC
</select>
<!-- 배송지정보 목록 조회 그룹 -->
<select id="selectOrderShippingListGrp" parameterType="com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrShippingVO" resultType="dataMap">
SELECT SOPMAL_CD, ORDR_INNB, RECPNT_NM, RECPNT_TELNB, RECPNT_MBTLNB, DLVYLC_ZIP, DLVYLC_ADRES_DV_CD, ADRES, DLVYLC_RNM_ADRES, DLVYLC_LNB_ADRES, DLVYLC_ADRES_DTL, DLVY_MSSAGE_CN, GIFT_MSSAGE_CN, GIFT_STTUS_CD, GIFT_STTUS_CD_NM, ORDR_STTUS_CD, ORDR_STTUS_NM, FREE_DLVY_CND_AMT, DFT_DLVY_AMT
FROM (
SELECT FOS.SOPMAL_CD
, FOS.ORDR_INNB
, FOS.ORDR_DLVY_INNB
, FOS.RECPNT_NM
, CASE
WHEN LENGTH(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50))) = 11 THEN
CONCAT(SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 1, 3), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 4, 4), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 8, 4))
WHEN LENGTH(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50))) = 10 AND CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)) LIKE '02%' THEN
CONCAT(SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 1, 2), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 3, 4), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 7, 4))
WHEN LENGTH(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50))) = 10 AND CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)) NOT LIKE '02%' THEN
CONCAT(SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 1, 3), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 4, 3), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 7, 4))
WHEN LENGTH(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50))) = 9 THEN
CONCAT(SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 1, 2), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 3, 3), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 6, 4))
WHEN LENGTH(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50))) = 8 THEN
CONCAT(SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 1, 4), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), 5, 4))
ELSE
CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_TELNB), '1df5be2f7e90ae36') AS CHAR(50))
END AS RECPNT_TELNB
, CASE
WHEN LENGTH(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50))) = 11 THEN
CONCAT(SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 1, 3), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 4, 4), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 8, 4))
WHEN LENGTH(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50))) = 10 AND CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)) LIKE '02%' THEN
CONCAT(SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 1, 2), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 3, 4), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 7, 4))
WHEN LENGTH(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50))) = 10 AND CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)) NOT LIKE '02%' THEN
CONCAT(SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 1, 3), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 4, 3), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 7, 4))
WHEN LENGTH(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50))) = 9 THEN
CONCAT(SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 1, 2), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 3, 3), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 6, 4))
WHEN LENGTH(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50))) = 8 THEN
CONCAT(SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 1, 4), '-', SUBSTR(CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), 5, 4))
ELSE
CAST(AES_DECRYPT(UNHEX(FOS.RECPNT_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50))
END AS RECPNT_MBTLNB
, FOS.DLVYLC_ZIP
, FOS.DLVYLC_ADRES_DV_CD
, CASE WHEN FOS.DLVYLC_ADRES_DV_CD = '01'
THEN FOS.DLVYLC_RNM_ADRES
ELSE FOS.DLVYLC_LNB_ADRES
END ADRES
, FOS.DLVYLC_RNM_ADRES
, FOS.DLVYLC_LNB_ADRES
, FOS.DLVYLC_ADRES_DTL
, FOS.DLVY_MSSAGE_CN
, FOS.GIFT_MSSAGE_CN
, FOS.GIFT_STTUS_CD
, FN_GET_COMMCODE_NAME('GIFT_STTUS', FOS.GIFT_STTUS_CD) AS GIFT_STTUS_CD_NM
, FOS.ORDR_STTUS_CD
, FN_GET_COMMCODE_NAME('ORDR_STTUS', FOS.ORDR_STTUS_CD) AS ORDR_STTUS_NM
, ROUND(FOS.RL_DLVY_AMT) AS RL_DLVY_AMT
, ROUND(FOS.FREE_DLVY_CND_AMT) AS FREE_DLVY_CND_AMT
, ROUND(FOS.DFT_DLVY_AMT) AS DFT_DLVY_AMT
FROM GC_ORDER_SHIPPING FOS
WHERE FOS.SOPMAL_CD = #{sopmalCd}
AND FOS.ORDR_INNB = #{ordrInnb}
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ordrDlvyInnb)">
AND FOS.ORDR_DLVY_INNB = #{ordrDlvyInnb}
</if>
ORDER BY FOS.ORDR_DLVY_INNB ASC
) AA
GROUP BY SOPMAL_CD, ORDR_INNB, RECPNT_NM, RECPNT_TELNB, RECPNT_MBTLNB, DLVYLC_ZIP, DLVYLC_ADRES_DV_CD, ADRES, DLVYLC_RNM_ADRES, DLVYLC_LNB_ADRES, DLVYLC_ADRES_DTL, DLVY_MSSAGE_CN, GIFT_MSSAGE_CN, GIFT_STTUS_CD, GIFT_STTUS_CD_NM, ORDR_STTUS_CD, ORDR_STTUS_NM, FREE_DLVY_CND_AMT, DFT_DLVY_AMT
</select>
<!-- 배송지별 상품 목록 조회 -->
<select id="selectOrderShippingGoodsList" parameterType="dataMap" resultType="dataMap">
<![CDATA[
@@ -2233,6 +2320,16 @@
]]>
</select>
<!-- 배송지정보 일치여부 확인 -->
<select id="selectDlvylcAreaCdInfo" parameterType="com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrShippingVO">
SELECT COUNT(*) AS CNT
FROM GC_ORDER_SHIPPING GOS
WHERE GOS.SOPMAL_CD = #{sopmalCd}
AND GOS.ORDR_INNB = #{ordrInnb}
AND GOS.ORDR_DLVY_INNB = #{ordrDlvyInnb}
AND GOS.DLVYLC_AREA_CD = #{dlvylcAreaCd}
</select>
<!-- 배송지정보 수정 -->
<update id="updateDlvylcInfo" parameterType="com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrShippingVO">
UPDATE GC_ORDER_SHIPPING FOS
@@ -2264,6 +2361,7 @@
WHERE FOS.SOPMAL_CD = #{sopmalCd}
AND FOS.ORDR_INNB = #{ordrInnb}
AND FOS.ORDR_DLVY_INNB = #{ordrDlvyInnb}
AND FOS.DLVYLC_AREA_CD = #{dlvylcAreaCd}
</update>
<!-- 주문메모 목록 조회 -->
@@ -2421,6 +2519,7 @@
WHEN FOS.PG_CMPNY_NM = 'kcp' THEN GPL.KCP_MID
ELSE GPL.OLD_TOSS_MID
END AS MID
, ROUND(FOS.WON_SETLE_AMT) AS WON_SETLE_AMT
FROM GC_ORDER_SETLE FOS
INNER JOIN GC_PAY_LINK GPL
ON FOS.SOPMAL_CD = GPL.SOPMAL_CD
@@ -3821,6 +3920,7 @@
AND FOS.ORDR_INNB = FO.ORDR_INNB
WHERE FO.USE_AT = 'Y'
AND FO.SUBSVC_AT = 'N' /*구독서비스 제외*/
AND ( ( FO.ORDR_STTUS_CD BETWEEN '15' AND '75' ) OR FO.ORDR_STTUS_CD = '95' )
AND IFNULL(FOS.ORDR_INNB, '') != ''
AND FO.SOPMAL_CD = #{sopmalCd}
AND FO.MBR_DV_CD = #{mbrDvCd}
@@ -4177,6 +4277,7 @@
AND FC.CART_DV_CD = #{cartDvCd}
ORDER BY FC.REGIST_DT DESC
</select>
<!--사용자 > 상품 > 장바구니 목록 > 선물하기,여러곳배송 버튼 활성화 여부 -->
<select id="selectBOSpbkGiftMultiDlvyAt" parameterType="com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOSpbkVO" resultType="dataMap">
SELECT GS.SOPMAL_CD
@@ -4187,6 +4288,14 @@
AND GS.SOPMAL_CD= #{sopmalCd}
</select>
<!--살때 환율 조회 -->
<select id="selectBuyRate" parameterType="dataMap" resultType="BigDecimal">
SELECT GS.BUY_RATE
FROM GC_SHOP GS
WHERE 1=1
AND GS.SOPMAL_CD= #{sopmalCd}
</select>
<!--장바구니 상태 변경 -->
<update id="updateBOSpbkCartDvCd" parameterType="dataMap">
UPDATE
@@ -4719,19 +4828,51 @@
THEN (IFNULL(OIOP2.ENURI_DSCNT_UNIT, 0) * RI.REFUND_QY) + IFNULL(OIOP2.ENURI_DSCNT_REST, 0)
ELSE (IFNULL(OIOP2.ENURI_DSCNT_UNIT, 0) * RI.REFUND_QY) END ) AS SUB_SLEPRIC
, FSG.DLVY_GROUP_DV_CD
, ROUND(IFNULL(FSG.DFT_DLVY_AMT, 0), '0') AS DFT_DLVY_AMT
, FSG.AMT_CND_USE_AT
, ROUND(IFNULL(FSG.AMT_CND_ADIT_AMT, 0), '0') AS AMT_CND_ADIT_AMT
, FSG.CNT_CND_USE_AT
, ROUND(IFNULL(FSG.CNT_CND_ADIT_AMT, 0), '0') AS CNT_CND_ADIT_AMT
, FSG.BUNDLE_DLVY_USE_AT
, ROUND(IFNULL(FSG.BUNDLE_DLVY_CND_AMT, 0), '0') AS BUNDLE_DLVY_CND_AMT
, FSG.DLVY_AREA_ADIT_AT
, ROUND(IFNULL(FSG.AREA_ADIT_DLVY_AMT, 0), '0') AS AREA_ADIT_DLVY_AMT
, (CASE
WHEN SH.DLVYLC_AREA_CD = 'JP' THEN ROUND(IFNULL(FSG.DFT_DLVY_AMT2, 0), '0')
ELSE ROUND(IFNULL(FSG.DFT_DLVY_AMT, 0), '0')
END) AS DFT_DLVY_AMT
, (CASE
WHEN SH.DLVYLC_AREA_CD = 'JP' THEN FSG.AMT_CND_USE_AT2
ELSE FSG.AMT_CND_USE_AT
END) AS AMT_CND_USE_AT
, (CASE
WHEN SH.DLVYLC_AREA_CD = 'JP' THEN ROUND(IFNULL(FSG.AMT_CND_ADIT_AMT2, 0), '0')
ELSE ROUND(IFNULL(FSG.AMT_CND_ADIT_AMT, 0), '0')
END) AS AMT_CND_ADIT_AMT
, (CASE
WHEN SH.DLVYLC_AREA_CD = 'JP' THEN FSG.CNT_CND_USE_AT2
ELSE FSG.CNT_CND_USE_AT
END) AS CNT_CND_USE_AT
, (CASE
WHEN SH.DLVYLC_AREA_CD = 'JP' THEN ROUND(IFNULL(FSG.CNT_CND_ADIT_AMT2, 0), '0')
ELSE ROUND(IFNULL(FSG.CNT_CND_ADIT_AMT, 0), '0')
END) AS CNT_CND_ADIT_AMT
, (CASE
WHEN SH.DLVYLC_AREA_CD = 'JP' THEN FSG.BUNDLE_DLVY_USE_AT2
ELSE FSG.BUNDLE_DLVY_USE_AT
END) AS BUNDLE_DLVY_USE_AT
, (CASE
WHEN SH.DLVYLC_AREA_CD = 'JP' THEN ROUND(IFNULL(FSG.BUNDLE_DLVY_CND_AMT2, 0), '0')
ELSE ROUND(IFNULL(FSG.BUNDLE_DLVY_CND_AMT, 0), '0')
END) AS BUNDLE_DLVY_CND_AMT
, (CASE
WHEN SH.DLVYLC_AREA_CD = 'JP' THEN FSG.DLVY_AREA_ADIT_AT2
ELSE FSG.DLVY_AREA_ADIT_AT
END) AS DLVY_AREA_ADIT_AT
, (CASE
WHEN SH.DLVYLC_AREA_CD = 'JP' THEN ROUND(IFNULL(FSG.AREA_ADIT_DLVY_AMT2, 0), '0')
ELSE ROUND(IFNULL(FSG.AREA_ADIT_DLVY_AMT, 0), '0')
END) AS AREA_ADIT_DLVY_AMT
, (CASE
WHEN OIOP2.ORDR_QY = (OIOP2.STEP85 + RI.REFUND_QY) THEN ROUND(IFNULL(SH.RL_DLVY_AMT, 0), '0')
ELSE 0
END) AS REAL_DLVY_AMT
, ROUND(IFNULL(SH.RL_DLVY_AMT + SH.DLVY_COUPON_DSCNT_AMT, 0), '0') AS RL_DLVY_AMT
, OIOP2.RETURN_DLVY_APPLC_AT
, ROUND(IFNULL(OIOP2.RETURN_DLVY_AMT, 0), '0') AS RETURN_DLVY_AMT
, ROUND(IFNULL(OIOP2.EXCHNG_DLVY_AMT, 0), '0') AS EXCHNG_DLVY_AMT
, SH.DLVYLC_AREA_CD
FROM GC_ORDER_ITEM_OPTION OIOP2
INNER JOIN GC_ORDER_ITEM OI
ON OIOP2.SOPMAL_CD = OI.SOPMAL_CD
@@ -4767,7 +4908,9 @@
<![CDATA[
UPDATE GC_ORDER_REFUND
SET RETURN_DLVY_AMT = #{returnDlvyAmt}
,REFUND_DLVY_AMT = #{refundDlvyAmt}
, WON_RETURN_DLVY_AMT = ROUND((SELECT GO2.BUY_RATE FROM GC_ORDER GO2 WHERE GO2.SOPMAL_CD = #{sopmalCd} AND GO2.ORDR_INNB = #{ordrInnb}) * #{returnDlvyAmt}, 0)
, REFUND_DLVY_AMT = #{refundDlvyAmt}
, WON_REFUND_DLVY_AMT = ROUND((SELECT GO2.BUY_RATE FROM GC_ORDER GO2 WHERE GO2.SOPMAL_CD = #{sopmalCd} AND GO2.ORDR_INNB = #{ordrInnb}) * #{refundDlvyAmt}, 0)
WHERE SOPMAL_CD = #{sopmalCd}
AND ORDER_REFUND_INNB = #{orderRefundInnb}
]]>
@@ -5288,7 +5431,14 @@
<!-- 사용자 > 마이페이지 > 구독서비스 주문/배송 목록 조회 -->
<select id="selectMbrSubsvcOrdrList" parameterType="com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrDlvyVO" resultType="dataMap">
<![CDATA[
SELECT *
SELECT PV.*
, (SELECT MAX('구독취소')
FROM GC_ORDER_REFUND GOR
WHERE GOR.SOPMAL_CD = PV.SOPMAL_CD
AND GOR.ORDR_INNB = PV.ORDR_INNB
AND GOR.USE_AT = 'Y'
AND GOR.REFUND_PROCS_STTUS_CD = '03' /*처리상태:환불완료*/
AND GOR.REFUND_TY_CD != '01' /*환불구분:결제취소가 아님*/) AS REFUND_STTUS_NM
FROM (
SELECT CAST(@ROWNUM:=@ROWNUM + 1 AS UNSIGNED) AS RNUM
, TB.*
@@ -5418,7 +5568,7 @@
AND FOS.ORDR_INNB = FO.ORDR_INNB
WHERE FO.USE_AT = 'Y'
AND FO.SUBSVC_AT = 'Y' /*구독서비스*/
AND ( ( FO.ORDR_STTUS_CD BETWEEN '15' AND '75' ) OR FO.ORDR_STTUS_CD = '95' )
AND FO.ORDR_STTUS_CD BETWEEN '15' AND '95'
AND FO.SOPMAL_CD = #{sopmalCd}
AND FO.MBR_DV_CD = #{mbrDvCd}
AND FO.MBR_INNB = #{mbrInnb}
@@ -5426,12 +5576,6 @@
) TB
WHERE (@rownum:=0) = 0
]]>
<include refid="mbrOrdrSubsvcListWhere"/>
) PV
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
</select>
<sql id="mbrOrdrSubsvcListWhere">
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchwrd)">
AND (
TB.ORDR_INNB LIKE CONCAT('%', #{srchwrd}, '%') OR
@@ -5441,7 +5585,61 @@
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(bgnDt) and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(endDt)">
AND TB.ORDR_RCEPT_DT BETWEEN DATE(#{bgnDt}) AND DATE(#{endDt}) + 1
</if>
</sql>
) PV
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
</select>
<!-- 한화금액이 결제금액보다 많은지 체크하여 환불금액(원화) update -->
<update id="updateBOWonRefundAmt" parameterType="com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrRefundVO">
<![CDATA[
WITH BF AS (SELECT MAX(O.WON_RL_SETLE_AMT) - IFNULL(SUM(IFNULL(GOR2.WON_REFUND_AMT,0))+SUM(IFNULL(GOR2.WON_REFUND_DLVY_AMT,0)),0) AS WON_REST_AMT
FROM GC_ORDER O
LEFT OUTER JOIN GC_ORDER_REFUND GOR2
ON GOR2.SOPMAL_CD = O.SOPMAL_CD
AND GOR2.ORDR_INNB = O.ORDR_INNB
AND GOR2.USE_AT = 'Y'
AND GOR2.REFUND_PROCS_STTUS_CD = '03'
AND GOR2.ORDER_REFUND_INNB != #{orderRefundInnb}
WHERE O.SOPMAL_CD = #{sopmalCd}
AND O.ORDR_INNB = #{ordrInnb}
)
UPDATE GC_ORDER_REFUND
SET WON_REFUND_AMT = (CASE
WHEN WON_REFUND_AMT + WON_REFUND_DLVY_AMT > (SELECT WON_REST_AMT FROM BF) THEN (SELECT WON_REST_AMT FROM BF) - WON_REFUND_DLVY_AMT
ELSE WON_REFUND_AMT
END)
, UPDT_DT = NOW()
WHERE SOPMAL_CD = #{sopmalCd}
AND ORDER_REFUND_INNB = #{orderRefundInnb}
]]>
</update>
<!--
결제취소 시 구독서비스 환불금액 조회
계산식 : 전체결제금액 - 전체배송비 - 발송및취소된(35~85)상품금액
-->
<select id="selectSubsvcRefundAmt" parameterType="com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrRefundVO" resultType="java.lang.Integer">
SELECT (MAX(O.RL_SETLE_AMT) - SUM(GOS.RL_DLVY_AMT) - SUM(CASE
WHEN GOIO.ORDR_STTUS_CD BETWEEN 35 AND 85 THEN (GOIO.SLEPRIC * GOIO.ORDR_QY)
ELSE 0
END)
) AS REFUND_AMT
FROM GC_ORDER O
INNER JOIN GC_ORDER_SHIPPING GOS
ON GOS.SOPMAL_CD = O.SOPMAL_CD
AND GOS.ORDR_INNB = O.ORDR_INNB
AND GOS.USE_AT = 'Y'
INNER JOIN GC_ORDER_ITEM GOI
ON GOI.SOPMAL_CD = O.SOPMAL_CD
AND GOI.ORDR_INNB = O.ORDR_INNB
INNER JOIN GC_ORDER_ITEM_OPTION GOIO
ON GOIO.SOPMAL_CD = GOI.SOPMAL_CD
AND GOIO.ORDR_GOODS_INNB = GOI.ORDR_GOODS_INNB
AND GOIO.ORDR_DLVY_INNB = GOS.ORDR_DLVY_INNB
WHERE O.SOPMAL_CD = #{sopmalCd}
AND O.ORDR_INNB = #{ordrInnb}
AND O.SUBSVC_AT = 'Y'
</select>
</mapper>

View File

@@ -326,12 +326,11 @@
<sql id="mbrRefundListWhere">
<![CDATA[
WHERE 1=1
]]>
<![CDATA[
AND RE.SOPMAL_CD = #{sopmalCd}
AND O.MBR_DV_CD = #{mbrDvCd}
AND O.MBR_INNB = #{mbrInnb}
AND RE.USE_AT = 'Y'
AND RE.REFUND_PROCS_STTUS_CD = '03' /*환불완료*/
]]>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchwrd)">
AND (
@@ -364,6 +363,7 @@
INNER JOIN GC_ORDER O
ON RE.SOPMAL_CD = O.SOPMAL_CD -- 쇼핑몰 코드
AND RE.ORDR_INNB = O.ORDR_INNB -- 주문 고유번호
AND O.SUBSVC_AT = 'N' /*구독상품 제외*/
]]>
</sql>
@@ -570,8 +570,10 @@
RE.REFUND_ACNT_DPSTR_NM,
RE.REFUND_ACNTNB,
RE.REFUND_AMT,
RE.WON_REFUND_AMT,
RE.REFUND_ACCMLMNY_AMT,
RE.REFUND_DLVY_AMT,
RE.WON_REFUND_DLVY_AMT,
RE.MLG_ACCMLMNY_AMT,
RE.MLG_ACCMLMNY_VALID_DT,
RE.ENURI_REVISN_AMT,
@@ -597,6 +599,7 @@
IFNULL(REGEXP_REPLACE(CAST(AES_DECRYPT(UNHEX(RE.RETURN_CSTMR_MBTLNB) , '1df5be2f7e90ae36') AS CHAR(50)), '(.{3})(.{4})(.{4})', '$1-$2-$3'), '') AS RETURN_CSTMR_MBTLNB,
IFNULL(CAST(AES_DECRYPT(UNHEX(RE.RETURN_CSTMR_MBTLNB) , '1df5be2f7e90ae36') AS CHAR(50)), '') AS RETURN_CSTMR_MBTLNB_N_UNDER,
FORMAT(ROUND(RE.RETURN_DLVY_AMT), 0) AS RETURN_DLVY_AMT,
FORMAT(ROUND(RE.WON_RETURN_DLVY_AMT), 0) AS WON_RETURN_DLVY_AMT,
RE.RETURN_DLVY_TRGET_CD,
RE.RETURN_DLVY_RSPNSBL_CD,
RE.RETURN_DLVY_PYMNT_TY_CD,
@@ -842,7 +845,7 @@
CASE
WHEN RE.RETURN_DLVY_PYMNT_TY_CD = '02' THEN
CASE
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '01' THEN GREATEST(RE.REFUND_AMT - IFNULL(RE.DLVY_AMT_REFUND_AMT, 0), 0)
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '01' THEN GREATEST(RE.REFUND_AMT - IFNULL(RE.RETURN_DLVY_AMT, 0), 0)
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '02' THEN GREATEST(RE.REFUND_AMT + IFNULL(RE.REFUND_DLVY_AMT, 0), 0)
END
ELSE
@@ -851,9 +854,45 @@
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '02' THEN GREATEST(RE.REFUND_AMT + IFNULL(RE.REFUND_DLVY_AMT, 0), 0)
END
END
END + (REI.REFUND_MLG_AMT + REI.REFUND_MLG_RMNDR_AMT) + (REI.REFUND_CASH_AMT + REI.REFUND_CASH_RMNDR_AMT)))
END + (REI.REFUND_MLG_AMT + REI.REFUND_MLG_RMNDR_AMT) + (REI.REFUND_CASH_AMT + REI.REFUND_CASH_RMNDR_AMT)+ IFNULL((REI.REFUND_GOODS_COUPON_UNIT_AMT + REI.REFUND_GOODS_COUPON_REST_AMT), 0) + IFNULL((REI.REFUND_CART_COUPON_UNIT_AMT + REI.REFUND_CART_COUPON_REST_AMT), 0) ))
, 0) AS RL_REFUND_AMT -- 마일리지, 배송비 제외한 실 환불 금액
, IFNULL(
ROUND(CASE
WHEN RE.REFUND_TY_CD = '01' THEN RE.REFUND_AMT + RE.REFUND_DLVY_AMT
WHEN RE.REFUND_TY_CD = '02' THEN
CASE
WHEN RE.RETURN_DLVY_PYMNT_TY_CD = '02' THEN
CASE
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '01' THEN GREATEST(RE.REFUND_AMT - IFNULL(RE.RETURN_DLVY_AMT, 0), 0)
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '02' THEN GREATEST(RE.REFUND_AMT + IFNULL(RE.REFUND_DLVY_AMT, 0), 0)
END
ELSE
CASE
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '01' THEN RE.REFUND_AMT
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '02' THEN GREATEST(RE.REFUND_AMT + IFNULL(RE.REFUND_DLVY_AMT, 0), 0)
END
END
END)
, 0) AS REAL_REFUND_AMT -- 마일리지, 쿠폰, 캐시를 제외한 실 환불 금액
, IFNULL(
ROUND(CASE
WHEN RE.REFUND_TY_CD = '01' THEN RE.WON_REFUND_AMT + RE.WON_REFUND_DLVY_AMT
WHEN RE.REFUND_TY_CD = '02' THEN
CASE
WHEN RE.RETURN_DLVY_PYMNT_TY_CD = '02' THEN
CASE
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '01' THEN GREATEST(RE.WON_REFUND_AMT - IFNULL(RE.WON_RETURN_DLVY_AMT, 0), 0)
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '02' THEN GREATEST(RE.WON_REFUND_AMT + IFNULL(RE.WON_REFUND_DLVY_AMT, 0), 0)
END
ELSE
CASE
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '01' THEN RE.WON_REFUND_AMT
WHEN RE.RETURN_DLVY_RSPNSBL_CD = '02' THEN GREATEST(RE.WON_REFUND_AMT + IFNULL(RE.WON_REFUND_DLVY_AMT, 0), 0)
END
END
END)
, 0) AS REAL_WON_REFUND_AMT -- 마일리지, 쿠폰, 캐시를 제외한 실 환불 금액
, IFNULL(
ROUND((CASE
WHEN RE.REFUND_TY_CD = '01' THEN 0
WHEN RE.REFUND_TY_CD = '02' THEN
@@ -873,6 +912,8 @@
))
, 0) AS RL_DLVY_AMT_REFUND_AMT -- 반품 배송비
, FN_GET_COMMCODE_NAME('SETLE_MTH', ST.SETLE_TY_CD) AS SETLE_TY_CD_NM
, ROUND(ST.WON_SETLE_AMT) AS WON_SETLE_AMT
, O.BUY_RATE
FROM (SELECT REI.SOPMAL_CD
, REI.ORDER_REFUND_INNB
, ROUND(SUM(REI.GOODS_REFUND_AMT)) AS REFUND_AMT -- * REI.REFUND_QY
@@ -1026,7 +1067,8 @@
<![CDATA[RETURN_CSTMR_MBTLNB = HEX(AES_ENCRYPT(REPLACE(#{returnCstmrMbtlnb}, '-', ''), '1df5be2f7e90ae36')),]]>
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(returnDlvyAmt)">
<![CDATA[RETURN_DLVY_AMT = REPLACE(#{returnDlvyAmt}, ',', ''),]]>
RETURN_DLVY_AMT = REPLACE(#{returnDlvyAmt}, ',', ''),
WON_RETURN_DLVY_AMT = ROUND((SELECT GO2.BUY_RATE FROM GC_ORDER GO2 WHERE GO2.SOPMAL_CD = #{sopmalCd} AND GO2.ORDR_INNB = #{ordrInnb}) * REPLACE(#{returnDlvyAmt}, ',', ''), 0) ,
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(returnDlvyRspnsblCd)">
<![CDATA[RETURN_DLVY_RSPNSBL_CD = #{returnDlvyRspnsblCd},]]>
@@ -1102,11 +1144,20 @@
</when>
</choose>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(dlvyAmtRefundAmt)">
<![CDATA[DLVY_AMT_REFUND_AMT = #{dlvyAmtRefundAmt},]]>
DLVY_AMT_REFUND_AMT = #{dlvyAmtRefundAmt},
WON_DLVY_AMT_REFUND_AMT = ROUND((SELECT GO2.BUY_RATE FROM GC_ORDER GO2 WHERE GO2.SOPMAL_CD = #{sopmalCd} AND GO2.ORDR_INNB = #{ordrInnb}) * #{dlvyAmtRefundAmt}, 0),
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(refundAmt)">
<![CDATA[REFUND_AMT = #{refundAmt},]]>
REFUND_AMT = #{refundAmt},
</if>
<choose>
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(refundAmt) and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(wonRefundAmt)">
WON_REFUND_AMT = ROUND((SELECT GO2.BUY_RATE FROM GC_ORDER GO2 WHERE GO2.SOPMAL_CD = #{sopmalCd} AND GO2.ORDR_INNB = #{ordrInnb}) * #{refundAmt}, 0) ,
</when>
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(refundAmt) and @com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(wonRefundAmt)">
WON_REFUND_AMT = #{wonRefundAmt},
</when>
</choose>
MNGR_INNB = #{updusr},
UPDT_DT = SYSDATE()
<![CDATA[
@@ -1304,8 +1355,10 @@
RE.REFUND_ACNT_DPSTR_NM,
RE.REFUND_ACNTNB,
ROUND(RE.REFUND_AMT) AS REFUND_AMT,
ROUND(RE.WON_REFUND_AMT) AS WON_REFUND_AMT,
RE.REFUND_ACCMLMNY_AMT,
ROUND(RE.REFUND_DLVY_AMT) AS REFUND_DLVY_AMT,
ROUND(RE.WON_REFUND_DLVY_AMT) AS WON_REFUND_DLVY_AMT,
RE.MLG_ACCMLMNY_AMT,
RE.MLG_ACCMLMNY_VALID_DT,
RE.ENURI_REVISN_AMT,
@@ -1326,6 +1379,7 @@
REGEXP_REPLACE(CAST(AES_DECRYPT(UNHEX(RE.RETURN_CSTMR_TELNB), '1df5be2f7e90ae36') AS CHAR(50)), '(.{3})(.{4})(.{4})', '$1-$2-$3') AS RETURN_CSTMR_TELNB,
REGEXP_REPLACE(CAST(AES_DECRYPT(UNHEX(RE.RETURN_CSTMR_MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), '(.{3})(.{4})(.{4})', '$1-$2-$3') AS RETURN_CSTMR_MBTLNB,
ROUND(RE.RETURN_DLVY_AMT) AS RETURN_DLVY_AMT,
ROUND(RE.RETURN_DLVY_AMT * O.BUY_RATE) AS WON_RETURN_DLVY_AMT,
RE.RETURN_DLVY_TRGET_CD,
RE.RETURN_DLVY_RSPNSBL_CD,
RE.RETURN_DLVY_PYMNT_TY_CD,
@@ -1345,7 +1399,10 @@
RE.REGIST_DT,
RE.UPDT_DT,
O.MBR_DV_CD,
O.MBR_INNB
O.MBR_INNB,
O.BUY_RATE,
ROUND(RE.DLVY_AMT_REFUND_AMT) AS DLVY_AMT_REFUND_AMT,
ROUND(RE.DLVY_AMT_REFUND_AMT * O.BUY_RATE) AS WON_DLVY_AMT_REFUND_AMT
FROM
GC_ORDER_REFUND RE
INNER JOIN GC_ORDER O ON RE.SOPMAL_CD = O.SOPMAL_CD
@@ -1496,6 +1553,7 @@
,ST.SOPMAL_CD
,ST.ORDR_INNB
,IFNULL(ST.SETLE_AMT, 0) AS SETLE_AMT -- 결제금액
,IFNULL(ST.WON_SETLE_AMT, 0) AS WON_SETLE_AMT -- 결제금액
,ST.PG_CMPNY_NM -- pg 회사명
,ST.PG_INNB -- pg고유번호
,ST.SETLE_TY_CD
@@ -1529,28 +1587,36 @@
<!-- 주문 환불 총 금액 -->
<select id="selectBOORderRefundAmtSumInqire"
parameterType="com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.vo.BORtngudrefndVO"
resultType="Integer">
resultType="dataMap">
<![CDATA[
SELECT
IFNULL((
SELECT ROUND(
SUM(
CASE
WHEN RE.REFUND_TY_CD = '01' THEN RE.REFUND_AMT + RE.REFUND_DLVY_AMT
WHEN RE.REFUND_TY_CD = '02' THEN
CASE
WHEN RE.RETURN_DLVY_PYMNT_TY_CD = '02' THEN GREATEST(RE.REFUND_AMT - IFNULL(RE.DLVY_AMT_REFUND_AMT, 0), 0)
ELSE RE.REFUND_AMT
END
END
), 0)
FROM GC_ORDER_REFUND RE
WHERE RE.SOPMAL_CD = #{sopmalCd}
AND RE.ORDR_INNB = #{ordrInnb}
AND RE.ORDER_REFUND_INNB != #{orderRefundInnb}
AND RE.USE_AT = 'Y'
GROUP BY RE.ORDR_INNB, RE.SOPMAL_CD
), 0) AS ORDER_REFUND_AMT_SUM
SELECT ROUND(
SUM(
CASE
WHEN RE.REFUND_TY_CD = '01' THEN RE.REFUND_AMT + RE.REFUND_DLVY_AMT
WHEN RE.REFUND_TY_CD = '02' THEN
CASE
WHEN RE.RETURN_DLVY_PYMNT_TY_CD = '02' THEN GREATEST(RE.REFUND_AMT - IFNULL(RE.DLVY_AMT_REFUND_AMT, 0), 0)
ELSE RE.REFUND_AMT
END
END
), 0) AS ORDER_REFUND_AMT_SUM
, ROUND(
SUM(
CASE
WHEN RE.REFUND_TY_CD = '01' THEN RE.WON_REFUND_AMT + RE.WON_REFUND_DLVY_AMT
WHEN RE.REFUND_TY_CD = '02' THEN
CASE
WHEN RE.RETURN_DLVY_PYMNT_TY_CD = '02' THEN GREATEST(RE.WON_REFUND_AMT - IFNULL(RE.WON_DLVY_AMT_REFUND_AMT, 0), 0)
ELSE RE.WON_REFUND_AMT
END
END
), 0) AS WON_ORDER_REFUND_AMT_SUM
FROM GC_ORDER_REFUND RE
WHERE RE.SOPMAL_CD = #{sopmalCd}
AND RE.ORDR_INNB = #{ordrInnb}
AND RE.ORDER_REFUND_INNB != #{orderRefundInnb}
AND RE.USE_AT = 'Y'
GROUP BY RE.ORDR_INNB, RE.SOPMAL_CD
]]>
</select>
@@ -1707,6 +1773,9 @@
,SUM(PRI.CASH_DSCNT_UNIT * PRI.REFUND_QY + PRI.CASH_DSCNT_REST) AS P_USE_CANCEL_CASH
,ROUND(RL_USE_CASH) AS RL_USE_CASH
,RL_ORDR_ITEM.RL_ORDR_QY
,SUM(PRE.REFUND_DLVY_AMT) AS P_REFUND_DLVY_AMT
,SUM(PRE.WON_REFUND_DLVY_AMT) AS P_WON_REFUND_DLVY_AMT
,SUM(PRE.WON_REFUND_AMT) AS P_WON_REFUND_AMT
FROM GC_ORDER_REFUND_ITEM PRI
INNER JOIN GC_ORDER_REFUND PRE ON PRI.SOPMAL_CD = PRE.SOPMAL_CD
AND PRI.ORDER_REFUND_INNB = PRE.ORDER_REFUND_INNB

View File

@@ -10,6 +10,8 @@ secured:
- /sopmal/mpage/bnef/**
- /sopmal/mpage/mbr/**
- /sopmal/bnft/**
- /sopmal/ordr/selectSpbk
- /sopmal/ordr/selectMbrPurchsForm
admin:
anonmymous:
# 로그인 없이 접근가능한 uri없음

View File

@@ -39,6 +39,20 @@ const fn_save_dftDlvylcAt = function (msg, adbkInnb) {
});
}
}
/**********************************************
리턴 formId 세팅
***********************************************/
let formIdSave;
const fn_set_formId = function (formId) {
if (formId !== ''){
formIdSave = formId;
} else {
formId = formIdSave;
}
return formId;
}
/**********************************************
배송지 관리 팝업 ()
***********************************************/
@@ -46,7 +60,9 @@ const fn_move_dlvylc_manage_pop = function (pageIndex,callback, formId = '') {
if (callback == undefined) {
callback = 'fn_set_dlvylc';
}
formId = fn_set_formId(formId);
console.log("배송지 관리 팝업 : ", formId);
$.ajax({
type: 'post',
url: '/sopmal/mpage/mbr/selectDlvylcManagePopup',
@@ -77,7 +93,9 @@ const fn_move_dlvylc_manage_full = function (pageIndex, callback, formId = '') {
if (callback == undefined) {
callback = 'fn_set_dlvylc';
}
formId = fn_set_formId(formId);
console.log("모바일 배송지 팝업 formId : ", formId);
$.ajax({
type: 'post',
url: '/sopmal/mpage/mbr/selectDlvylcManagePopup',

View File

@@ -72,6 +72,20 @@ const fn_select_recentDlvylcList = function (pageIndex, ordering) {
}
});
}
/**********************************************
리턴 formId 세팅
***********************************************/
let formIdSave;
const fn_set_formId = function (formId) {
if (formId !== ''){
formIdSave = formId;
} else {
formId = formIdSave;
}
return formId;
}
/**********************************************
배송지 관리 팝업 (처음 호출 할 때)
***********************************************/
@@ -82,6 +96,8 @@ const fn_move_dlvylc_manage_pop = function (pageIndex, mbrInnb, mbrDvCd, callbac
if (callback == undefined) {
callback = fn_set_dlvylc;
}
formId = fn_set_formId(formId);
$.ajax({
type: 'post',
url: '/crm/dlvylc/selectRpuseDlvylcListInqire',

View File

@@ -10239,6 +10239,12 @@ body {
font-weight: 400;
color: #495057;
}
.deliveryInfo__cstmclerCd {
margin-bottom: 10px;
font-size: 14px;
font-weight: 400;
color: #495057;
}
.deliveryInfo__message {
display: flex;
width: 100%;

View File

@@ -72,6 +72,20 @@ const fn_select_recentDlvylcList = function (pageIndex, ordering) {
}
});
}
/**********************************************
리턴 formId 세팅
***********************************************/
let formIdSave;
const fn_set_formId = function (formId) {
if (formId !== ''){
formIdSave = formId;
} else {
formId = formIdSave;
}
return formId;
}
/**********************************************
배송지 관리 팝업 (처음 호출 할 때)
***********************************************/
@@ -82,6 +96,8 @@ const fn_move_dlvylc_manage_pop = function (pageIndex, mbrInnb, mbrDvCd, callbac
if (callback == undefined) {
callback = fn_set_dlvylc;
}
formId = fn_set_formId(formId);
$.ajax({
type: 'post',
url: '/crm/dlvylc/selectRpuseDlvylcListInqire',

View File

@@ -1626,6 +1626,19 @@ caption {
fill: #228be6;
opacity: 0.9;
}
.shipping-apply-btn {
background-color: #e0e4e5;
color: #252521;
border: 1px solid #e0e4e5;
padding: 6px 14px;
border-radius: 4px;
margin-left: 4px;
font-weight: 500;
}
.shipping-apply-btn:hover {
background-color: #d8ddde;
}
.shipping-modify-btn {
background-color: #ffffff;
color: #252521;
@@ -7545,7 +7558,7 @@ main {
}
.priceSum__inner {
display: flex;
gap: 24px;
gap: 18px;
align-items: center;
}
.priceSum__item {

View File

@@ -10239,6 +10239,12 @@ body {
font-weight: 400;
color: #495057;
}
.deliveryInfo__cstmclerCd {
margin-bottom: 10px;
font-size: 14px;
font-weight: 400;
color: #495057;
}
.deliveryInfo__message {
display: flex;
width: 100%;

View File

@@ -1627,6 +1627,19 @@ caption {
fill: #228be6;
opacity: 0.9;
}
.shipping-apply-btn {
background-color: #e0e4e5;
color: #252521;
border: 1px solid #e0e4e5;
padding: 6px 14px;
border-radius: 4px;
margin-left: 4px;
font-weight: 500;
}
.shipping-apply-btn:hover {
background-color: #d8ddde;
}
.shipping-modify-btn {
background-color: #ffffff;
color: #252521;

View File

@@ -1675,7 +1675,7 @@
</tr>
<tr>
<th>환율(살때) 일본 1円(엔)기준</th>
<td>
<td colspan="3">
<div class="td-inner">
<div class="input-container">
<input type="text" class="input-text sm right" name="buyRate" id="buyRate" title="1엔 환율(살때)" value="${resultMap.sopmalDetailList[0].buyRate }">
@@ -1683,7 +1683,7 @@
</div>
</div>
</td>
<th>환율(팔때) 일본 1円(엔)기준</th>
<%-- <th>환율(팔때) 일본 1円(엔)기준</th>
<td>
<div class="td-inner">
<div class="input-container">
@@ -1691,7 +1691,7 @@
<span class="input-unit-text">원</span>
</div>
</div>
</td>
</td>--%>
</tr>
</tbody>
</table>

View File

@@ -48,8 +48,8 @@
<script src="<c:url value='/mngr/vendor/time-picker/timepicker.min.js'/>"></script>
<script src="<c:url value='/mngr/vendor/dropzone/dropzone.min.js'/>"></script>
<script src="<c:url value='/crm/js/script.js'/>" defer></script>
<script src="<c:url value='/js/gcone.js'/>"></script>
<script src="<c:url value='/js/fileupload_comm.js'/>"></script>
<script src="<c:url value='/js/mngr/gcone.js'/>"></script>
<script src="<c:url value='/js/mngr/fileupload_comm.js'/>"></script>
<script src="<c:url value='/ckeditor/ckeditor.js'/>"></script>
<script src="<c:url value='/mngr/vendor/chart.js/chart.umd.min.js'/>"></script>
<script src="<c:url value='/admin/vendor/jstree/jstree.min.js'/>"></script>

View File

@@ -14,7 +14,7 @@
--%>
<!-- 배송지 모달 -->
<!-- 배송지 수정-->
<div id="dlvylcUpdate" class="modal" style="max-width: 480px;">
<div id="dlvylcUpdate" class="modal" style="max-width: 480px; max-height: 100%;">
<form id="dlvylcUpdtForm" name="dlvylcUpdtForm" action="<c:url value=" /crm/dlvylc/updateDlvylcUpdt" />" method="post">
<div class="modal-header">
<h4>배송지 수정</h4>

View File

@@ -523,7 +523,8 @@
$(div).find('#' + id + 'Div').show();
if ('ordrTy01' === id || 'ordrTy06' === id) { // 일반주문, 정기배송
fn_set_dft_dlvylc(fn_get_mbr('dftDlvylc'), 'dlvylcForm-' + id);
// (346361) 상품 추가 or 상품 쿠폰 적용시 배송지 정보가 초기화 되는 문제 방지.
// fn_set_dft_dlvylc(fn_get_mbr('dftDlvylc'), 'dlvylcForm-' + id);
} else if ('ordrTy05' === id) { // 여러곳 배송
const mbrInnb = fn_get_mbr_innb();
@@ -2318,6 +2319,12 @@
/* 구매자 > 회원검색(레이어팝업) > 선택 구매자 정보 세팅 */
const fn_set_apply_purchsr = function() {
const purchsr = JSON.parse(localStorage.getItem('purchsr'));
// 회원 정보 세팅
$('#mbrInnb').val(fn_get_mbr_innb());
$('#mbrDvCd').val(String(fn_get_mbr_dv_cd()));
// 기본 배송지로 초기화
$('input[name="dlvylcDvCd"]').first().trigger('click');
let tr = '<tr>';

View File

@@ -29,7 +29,7 @@
function create_goodInfo() {
if(document.order_info.pay_mod.value=='Y') {
var chr31 = String.fromCharCode(31); // ASCII 코드값 31
var good_info = "seq=1" + chr31 + "ordr_numb=0001" + chr31 + "good_name=${data.setle.goodsNm}" + chr31 + "good_cntx=2" + chr31 + "good_amtx=${data.setle.setleAmt}";
var good_info = "seq=1" + chr31 + "ordr_numb=0001" + chr31 + "good_name=${data.setle.goodsNm}" + chr31 + "good_cntx=2" + chr31 + "good_amtx=${data.setle.wonSetleAmt}";
document.order_info.good_info.value = good_info;
}
}
@@ -112,7 +112,7 @@
<!-- ========== 에스크로 필수정보 End =============================== -->
<input type="hidden" name="good_name" value="${data.setle.goodsNm}"/> <!-- 상품명 -->
<input type="hidden" name="good_mny" value="${data.setle.setleAmt}"/> <!-- 결제 금액 -->
<input type="hidden" name="good_mny" value="${data.setle.wonSetleAmt}"/> <!-- 결제 금액 -->
<input type="hidden" name="buyr_name" value="${data.ordr.ordrrNm}"/> <!-- 주문자 이름 -->
<input type="hidden" name="buyr_mail" value="${data.ordr.ordrrEmail}"/> <!-- 주문자 이메일 -->
<input type="hidden" name="buyr_tel2" value="${data.ordr.ordrrMbtlnb}"/> <!-- 주문자 휴대폰번호 -->

View File

@@ -671,7 +671,7 @@
<option value="">선택</option>
<c:if test="${not empty resultMap.dlvyGrpList}">
<c:forEach var="dlvyGrpInfo" items="${resultMap.dlvyGrpList}">
<option value="${dlvyGrpInfo.dlvyGroupDvCd}">${dlvyGrpInfo.dlvyGroupNm}</option>
<option value="${dlvyGrpInfo.dlvyGroupInnb}">${dlvyGrpInfo.dlvyGroupNm}</option>
</c:forEach>
</c:if>
</select>

View File

@@ -192,9 +192,9 @@
}
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -319,9 +319,9 @@
}
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -369,9 +369,9 @@
}
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -409,9 +409,9 @@
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -482,8 +482,8 @@
// fn_move_dtlupdt(parsedResult.dlivyInnb);
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
alert(message.errorMsg);
let message = JSON.parse(request.responseText).resBody.result;
alert(message);
}
});
}

View File

@@ -612,9 +612,9 @@
}
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -643,9 +643,9 @@
}
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -663,9 +663,9 @@
if (data.resBody != null) {}
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -693,9 +693,9 @@
}
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -1570,7 +1570,8 @@
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message)
}
});
}

View File

@@ -114,8 +114,7 @@
</div>
<div class="sendOut-info__info-name">
<a href="" class="blue-6 fw-500"><c:out value="${ exList.ordrrNm }"/></a>
<span style="font-size: 10px;" class="stone-7">▶</span>
<span><c:out value="${ exList.recpntNm }"/>님에게 1번째</span>
<br><span> [<c:out value="${exList.ordrSttusNm}"/>]</span>
</div>
<div>
<p class="sendOut-info__info-address">(<c:out value="${ exList.dlvylcZip }"/>)

View File

@@ -179,6 +179,15 @@
</span>
</label>
</c:if>
<c:if test="${ cdList.cd eq 50 }">
<label class="b-checkbox checkbox">
<input type="checkbox" value="<c:out value="${ cdList.cd }"/>" name="srchOrdrSttusCds">
<span class="check"></span>
<span class="control-label">
<span class="order-status-badge export"><c:out value="${ cdList.cdNm }"/></span>
</span>
</label>
</c:if>
<c:if test="${ cdList.cd eq 60 }">
<label class="b-checkbox checkbox">
<input type="checkbox" value="<c:out value="${ cdList.cd }"/>" name="srchOrdrSttusCds">

View File

@@ -215,31 +215,21 @@
return false;
}
const checkedRows = $('input.dlivyCk:checked').closest('tr');
let checkedRowTd = null;
let rowTdClass = null;
let data = [];
checkedRows.each(function(index) {
const currentRow = $(this);
const nextRow = currentRow.next('tr');
checkedRowTd = currentRow.find('td').eq(1);
rowTdClass = checkedRowTd.find('button').attr('class');
if (rowTdClass && rowTdClass.includes('closed')) {
let tempRow = nextRow.next(); // 'nextRow'는 제외하고 그 다음 'tr'부터 시작
while (tempRow.length && !tempRow.hasClass('sendOut-info__first')) {
const inputs = tempRow.find('input[name], select[name]');
let rowData = {};
@@ -247,39 +237,24 @@
inputs.each(function () {
const input = $(this);
rowData[input.attr('name')] = input.val();
fn_create_input_popup('hidden', input.attr('name'), input.val(), hiddenForm);
fn_create_input_popup('hidden', 'dlivyUpdtVOList[' + index + '].'+(input.attr('name').split('.')[1]), input.val(), hiddenForm);
});
data.push(rowData);
tempRow = tempRow.next(); // 다음 'tr'로 이동
}
} else {
const inputs = currentRow.find('input[name], select[name]').add(nextRow.find('input[name], select[name]'));
let rowData = {};
inputs.each(function() {
const input = $(this);
rowData[input.attr('name')] = input.val();
fn_create_input_popup('hidden', input.attr('name'), input.val(), hiddenForm);
fn_create_input_popup('hidden', 'dlivyUpdtVOList[' + index + '].'+(input.attr('name').split('.')[1]), input.val(), hiddenForm);
// fn_create_input_popup('hidden', input.attr('name'), input.val(), hiddenForm);
});
data.push(rowData);
}
});
fn_create_input_popup('hidden', 'dlivyDt', dlivyRegistDate, hiddenForm);
@@ -287,11 +262,6 @@
const hiddenData = $('#hiddenForm').serializeArray();
if (isChecked()) {
if (confirm('해당 주문을 출고처리 하시겠습니까?')) {
$.ajax({
@@ -928,7 +898,8 @@
}
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message);
}
});
}
@@ -1040,7 +1011,8 @@
}
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message);
}
});
}
@@ -1131,7 +1103,8 @@
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message);
}
});
}

View File

@@ -251,9 +251,9 @@
}
},
error:function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -284,9 +284,9 @@
}
},
error:function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}

View File

@@ -602,7 +602,7 @@
const paginationInfo = result.paginationInfo;
if (allOrdrList == null) {
$('#orderList').append('<tr class="row"><td class="center" colspan="15">검색어가 없거나 검색 결과가 없습니다.</td>');
$('#orderList').append('<tr class="row"><td class="center" colspan="14">검색어가 없거나 검색 결과가 없습니다.</td>');
} else {
let rowNum = paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1) * paginationInfo.recordCountPerPage) + 1;
@@ -636,9 +636,9 @@
}
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -666,9 +666,9 @@
}
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -686,9 +686,9 @@
if (data.resBody != null) {}
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -718,9 +718,9 @@
}
},
error:function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -736,7 +736,7 @@
let header = '';
header += '<tr class="row order-section__header ' + ordrSttus + '" id="' + currTr + '-header">';
header += ' <td colspan="15">';
header += ' <td colspan="14">';
header += ' <div class="form-control-container">';
header += ' <div class="left">';
header += ' <div class="select-box">';
@@ -755,7 +755,7 @@
/* header += ' <button type="button" id="ordrSttus85" class="btn-' + currTr + ' btn gray xsm">결제취소</button>'; */
}
if ('35' === data.ordrSttusCd) {
if ('35' === data.ordrSttusCd || '50' === data.ordrSttusCd || '60' === data.ordrSttusCd || '70' === data.ordrSttusCd) {
header += ' <button type="button" onclick="fn_dlivy_procs_popup_check_ordrs(\'/mngr/ordr/dlivy/selectOrdrDlivyPopupForm\',\'팝업\',\'1400\',\'840\');" class="btn primary xsm btn-dlivy-procs-pop-' + data.ordrSttusCd + '">출고처리</button>';
/* header += ' <button type="button" id="ordrSttus85" class="btn-' + currTr + ' btn gray xsm">결제취소</button>'; */
}
@@ -850,16 +850,13 @@
tr += ' <td>' + (rowNum - 1) + '</td>';
tr += ' <td>';
if (!fn_is_empty(data.inflowCoursUrl)) {
tr += ' <a href="' + data.inflowCoursUrl + '" target="_blank">';
tr += ' <span class="blue-8 fw-500" title="' + data.inflowCoursUrl + '">' + (data.inflowCoursNm).substring(0, 1); + '</span></td>';
tr += ' </a>';
} else {
tr += ' <span class="blue-8 fw-500" title="' + data.inflowCoursUrl + '">' + (data.inflowCoursNm).substring(0, 1); + '</span></td>';
/** 구독서비스 여부 (구독/일반)*/
if (data.subsvcAt == 'Y'){
tr += '구독';
}else{
tr += '일반';
}
tr += ' </td>';
tr += ' <td><span class="blue-8 fw-500" title="' + data.sopmalNm + '">' + (data.sopmalNm).substring(0, 1) + '</span></td>';
tr += ' <td>' + data.ordrRceptDt + '</td>';
tr += ' <td>' + fn_nvl(data.sleEnvrnNm, '') + '</td>';
tr += ' <td class="left">';
@@ -993,7 +990,7 @@
let detail = '';
detail += '<tr class="row order-section__detail' + ' ordr-innb-detail-' + ordrInnb + '">';
detail += ' <td colspan="15">';
detail += ' <td colspan="14">';
detail += ' <div class="order-section__detail-inner">';
detail += ' <h5 class="order-section__detail-title">주문상품</h5>';
detail += ' <div class="table-wrapper">';
@@ -1331,7 +1328,7 @@
let footer = '';
footer += '<tr class="row order-section__footer">';
footer += ' <td colspan="15">';
footer += ' <td colspan="14">';
footer += ' <div class="form-control-container">';
footer += ' <div class="left">';
footer += ' <div class="select-box">';
@@ -1350,8 +1347,8 @@
/* footer += ' <button type="button" id="ordrSttus85" class="btn-' + currTr + ' btn gray xsm">결제취소</button>'; */
}
if ('35' === prevOrderSttusCd) {
footer += ' <button type="button" onclick="fn_dlivy_procs_popup_check_ordrs(\'/mngr/ordr/dlivy/selectOrdrDlivyPopupForm\',\'팝업\',\'1400\',\'840\');" class="btn primary xsm btn-dlivy-procs-pop-' + data.ordrSttusCd + '">출고처리</button>';
if ('35' === prevOrderSttusCd || '50' === prevOrderSttusCd || '60' === data.prevOrderSttusCd || '70' === data.prevOrderSttusCd) {
footer += ' <button type="button" onclick="fn_dlivy_procs_popup_check_ordrs(\'/mngr/ordr/dlivy/selectOrdrDlivyPopupForm\',\'팝업\',\'1400\',\'840\');" class="btn primary xsm btn-dlivy-procs-pop-' + prevOrderSttusCd + '">출고처리</button>';
/* footer += ' <button type="button" id="ordrSttus85" class="btn-' + currTr + ' btn gray xsm">결제취소</button>'; */
}
footer += ' <button type="button" class="btn-order-print-' + data.ordrSttusCd + ' btn outline xsm fs-13"><i class="icon icon_print"></i>프린트</button>';
@@ -2187,7 +2184,6 @@
<col style="width: 50px">
<col style="width: 50px">
<col style="width: 50px">
<col style="width: 50px">
<col style="width: 120px">
<col style="width: 50px">
<col style="width: 215px">
@@ -2204,8 +2200,7 @@
<th>선택</th>
<th>중요</th>
<th>번호</th>
<th>유입</th>
<th>마켓</th>
<th>주문구분</th>
<th>주문일시</th>
<th>환경</th>
<th>주문번호</th>
@@ -2220,7 +2215,7 @@
</thead>
<tbody id="orderList">
<tr>
<td colspan="15">
<td colspan="14">
<div class="form-control-container">
<div class="left">
<span class="gray-6">* 블랙리스트는 자사몰은 적색, 물류센터는 녹색으로 표시됩니다.</span>

View File

@@ -89,9 +89,9 @@
}
},
error:function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}

View File

@@ -586,9 +586,9 @@
}
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -613,9 +613,9 @@
}
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -633,9 +633,9 @@
if (data.resBody != null) {}
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -663,9 +663,9 @@
}
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}

View File

@@ -586,9 +586,9 @@
}
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -613,9 +613,9 @@
}
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -633,9 +633,9 @@
if (data.resBody != null) {}
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -663,9 +663,9 @@
}
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}

View File

@@ -834,9 +834,9 @@
}
},
error:function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -866,9 +866,9 @@
}
},
error:function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -914,9 +914,9 @@
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -1573,9 +1573,9 @@
}
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -1784,10 +1784,7 @@
</c:choose>
<button type="button" class="btn-ordr-sttus-35 btn gray">상품 준비</button>
</c:if>
<c:if test="${'35' eq dtl.ordrSttusCd && dtl.sknEnvrnCd ne 'POS'}"> <!-- 상품준비 -->
<a href="javascript:void(0);" id="canclPayment" class="btn outline">결제 취소</a>
</c:if>
<c:if test="${'35' lt dtl.ordrSttusCd && '85' gt dtl.ordrSttusCd && dtl.sknEnvrnCd ne 'POS'}"> <!-- 출고후 -->
<c:if test="${'35' <= dtl.ordrSttusCd && '85' gt dtl.ordrSttusCd && dtl.sknEnvrnCd ne 'POS'}"> <!-- 상품준비 or 출고후 -->
<button type="button" class="btn outline" onclick="fn_refund_regist_popup('#modalDiv', '#setleCanclRefndRegistPopupC', '<c:url value="/mngr/ordr/ordrmngr/selectRtngudRegistPopupForm"/>', '${dtl.ordrInnb}', '${dtl.setleTyCd}', '${dtl.ordrSttusCd}');">반품 신청</button>
</c:if>
</div>
@@ -1822,7 +1819,6 @@
<caption>주문정보</caption>
<!-- 각 열 width 설정 -->
<colgroup>
<col style="width: 60px;">
<col style="width: 60px;">
<col style="width: 10%;">
<col style="width: 120px;">
@@ -1836,8 +1832,7 @@
</colgroup>
<thead>
<tr>
<th>유입</th>
<th>마켓</th>
<th>일반/구독</th>
<th>주문일시</th>
<th>환경</th>
<th>주문번호</th>
@@ -1851,8 +1846,10 @@
</thead>
<tbody>
<tr>
<td><span class="blue-8 fw-500" title="${dtl.inflowCoursNm}">${fn:substring(dtl.inflowCoursNm, 0, 1)}</span></td>
<td><span class="blue-8 fw-500" title="${dtl.sopmalNm}">${fn:substring(dtl.sopmalNm, 0, 1)}</span></td>
<td><c:choose>
<c:when test="${dtl.subsvcAt eq 'Y'}">구독</c:when>
<c:otherwise>일반</c:otherwise>
</c:choose></td>
<td>${dtl.ordrRceptDt}</td>
<td>${dtl.sleEnvrnNm}</td>
<td>

View File

@@ -75,8 +75,8 @@
let pRefundQy = parseAmount('<c:out value="${ resultMap.result.pRefund.pRefundQy }"/>');
let rlOrdrQy = parseAmount('<c:out value="${ resultMap.result.pRefund.rlOrdrQy }"/>');
let pRefundAmt = parseAmount('<c:out value="${ resultMap.result.pRefund.pRefundAmt }"/>');
let pRefundAmt = parseAmount('<c:out value="${ resultMap.result.pRefund.pRefundAmt }"/>'); /*환불상품금액*/
let pRefundDlvyAmt = parseAmount('<c:out value="${ resultMap.result.pRefund.pRefundDlvyAmt }"/>'); /*환불배송비*/
// 마일리지
let pUseCancelMlg = parseAmount('<c:out value="${ resultMap.result.pRefund.pUseCancelMlg }"/>');
let rlUseMlg = parseAmount('<c:out value="${ resultMap.result.pRefund.rlUseMlg }"/>');
@@ -98,13 +98,18 @@
totalRefundQy += refundQy;
});
//전체 환불인경우
if (totalRefundQy + pRefundQy >= rlOrdrQy) {
let nowRefundDlvyAmt = 0;
$('input[name="shippingDlvyAmt"]').each(function (idx){
nowRefundDlvyAmt += parseAmount($(this).val());
} );
let pRemainAmt = (rlSetleAmt - pRefundAmt) - nowRefundAmt;
// (주문전체 결제금액 - 이전환불 환불금액 - 이전환불배송비) - 총환불금액(배송비 제외) - 전체배송비
let pRemainAmt = (rlSetleAmt - pRefundAmt - pRefundDlvyAmt) - nowRefundAmt - nowRefundDlvyAmt;
// 절대값
let pRemainAmtRemain = Math.abs(pRemainAmt);
@@ -369,13 +374,16 @@
$('input[name="prosbleCancelAmt"]').on('input', function() {
console.log("엄ㄴ아런밍럼니;아러");
fn_mlg_display_ctrl();
});
function rlRefundAmtProcessing() {
let wonRlSetleAmt = parseAmount('${data.ordrGoodsDtl.total.wonRlSetleAmt}'); /*실주문결제금액(원)*/
let pWonRefundAmt = parseAmount('<c:out value="${ resultMap.result.pRefund.pWonRefundAmt }"/>'); /*이전환불상품금액*/
let pWonRefundDlvyAmt = parseAmount('<c:out value="${ resultMap.result.pRefund.pWonRefundDlvyAmt }"/>'); /*이전환불배송비*/
let wonLimitRefundAmt = wonRlSetleAmt - (pWonRefundAmt + pWonRefundDlvyAmt); /*환불최대금액*/
let buyRate = parseFloat('${resultMap.result.totRefundDscntAmt.buyRate}',2);
let refundTyCd = '<c:out value="${ resultMap.result.refnd.refundTyCd }"/>';
let returnMthCd = $('input[name="returnMthCd"]:checked').val(); // 반품 방법 코드
let refundDlvyAmt = '<c:out value="${ resultMap.result.refnd.refundDlvyAmt }"/>'; // 환불 배송비 금액
@@ -400,44 +408,38 @@
let setleAmtMlg = 0;
let setleAmtCash = 0;
/*상품금액 합계*/
$('input[name="goodsRefundAmt"]').each(function(idx) {
let goodsRefundAmt = parseAmount($(this).val());
// console.log("상품별 환불 금액 : ", goodsRefundAmt);
refundAmt = refundAmt + goodsRefundAmt;
setleAmtGoods = setleAmtGoods + goodsRefundAmt;
});
/*마일리지 취소금액 합계*/
$('input[name="totSnggdsRefundMlgAmt"]').each(function(idx) {
let snggdsRefundMlgAmt = parseAmount($(this).val());
// console.log("상품별 마일리지 취소 금액 : ", snggdsRefundMlgAmt);
refundMltAmt = refundMltAmt + snggdsRefundMlgAmt;
setleAmtMlg = setleAmtMlg + snggdsRefundMlgAmt;
});
/*gc머니 취소금액 합계*/
$('input[name="totCashDscntUnit"]').each(function(idx) {
let snggdsRefundCashAmt = parseAmount($(this).val());
// console.log("상품별 마일리지 취소 금액 : ", snggdsRefundMlgAmt);
refundCashAmt = refundCashAmt + snggdsRefundCashAmt;
setleAmtCash = setleAmtCash + snggdsRefundCashAmt;
});
let rlRefundAmt = 0;
let realRefundAmt = 0; /*실제 결제취소(환불)금액*/
rlRefundAmt = refundAmt + refundMltAmt + refundCashAmt;
realRefundAmt = refundAmt;
// rlRefundAmt = parseAmount(rlRefundAmt);
// 숫자로 변환
@@ -447,11 +449,8 @@
if (refundTyCd === '01') {
rlRefundAmt = rlRefundAmt + refundDlvyAmt;
realRefundAmt = realRefundAmt + refundDlvyAmt;
if (refundDlvyAmt > 0) {
$('.rlRefundamtBeforeArea').show();
@@ -462,16 +461,11 @@
$('.rlReturnamtBeforeArea').hide();
$('input[name="returnDlvyAmt"]').val(formatWithComma(returnDlvyAmtStdr));
} else if (refundTyCd === '02') {
if (returnDlvyRspnsblCd === '01') { // 구매자
if (returnMthCd === '01') { // 고객이 배송
returnDlvyAmt = returnDlvyAmtStdr - refundDlvyAmt > 0 ? returnDlvyAmtStdr - refundDlvyAmt : 0;
$('input[name="returnDlvyAmt"]').val(formatWithComma(returnDlvyAmt));
// returnDlvyAmt = returnDlvyAmtStdr - refundDlvyAmt > 0 ? returnDlvyAmtStdr - refundDlvyAmt : 0;
// $('input[name="returnDlvyAmt"]').val(formatWithComma(returnDlvyAmt));
} else if (returnMthCd === '02') { // 상점이 회수
// $('input[name="returnDlvyAmt"]').val(formatWithComma($('input[name="returnDlvyAmt"]').val()));
} else {
@@ -480,24 +474,20 @@
if (returnDlvyPymntTyCd === '02') { // 환불 금액에서 차감
rlRefundAmt = rlRefundAmt - returnDlvyAmt > 0 ? rlRefundAmt - returnDlvyAmt : 0;
realRefundAmt = realRefundAmt - returnDlvyAmt > 0 ? realRefundAmt - returnDlvyAmt : 0;
$('.shippingReturnDlvyAmt').text(formatWithComma(returnDlvyAmt))
$('.rlReturnamtBeforeArea').show();
} else {
$('input[name="returnDlvyAmt"]').val(formatWithComma(returnDlvyAmt));
$('.rlReturnamtBeforeArea').hide();
}
$('.rlRefundamtBeforeArea').hide();
// $('input[name="returnDlvyAmt"]').val(formatWithComma(returnDlvyAmt));
} else if (returnDlvyRspnsblCd === '02') { // 판매자
console.log("refundDlvyAmt:",refundDlvyAmt)
rlRefundAmt = rlRefundAmt + refundDlvyAmt;
realRefundAmt = realRefundAmt + refundDlvyAmt;
if (refundDlvyAmt > 0) {
$('.rlRefundamtBeforeArea').show();
@@ -521,72 +511,78 @@
$('.setleAmtCash').text(formatWithComma(setleAmtCash)); // 결제내역 영역의 상품 마일리지 사용 금액
rlRefundAmt = rlRefundAmt > 0 ? rlRefundAmt : 0;
$('.rlRefundAmt').text(formatWithComma(rlRefundAmt));
realRefundAmt = realRefundAmt > 0 ? realRefundAmt : 0;
$('.rlRefundAmt').text(formatWithComma(rlRefundAmt));
$('.realRefundAmt').text(formatWithComma(realRefundAmt));
/*환불금액 한화환불금액 계산*/
let wonRlRefundAmt = Math.round(realRefundAmt * buyRate);
console.log("wonRlRefundAmt : ",wonRlRefundAmt, " realRefundAmt : ",realRefundAmt, " buyRate : ",buyRate)
wonRlRefundAmt = wonRlRefundAmt > 0 ? wonRlRefundAmt : 0;
/*환불금액이 최대금액을 넘어설경우 원화 최대치로 치환 */
wonRlRefundAmt = wonRlRefundAmt > wonLimitRefundAmt ? wonLimitRefundAmt : wonRlRefundAmt;
$('.wonRlRefundAmt').text(formatWithComma(wonRlRefundAmt));
}
function rlRefundAmtProcessingInput() {
let wonRlSetleAmt = parseAmount('${data.ordrGoodsDtl.total.wonRlSetleAmt}'); /*실주문결제금액(원)*/
let pWonRefundAmt = parseAmount('<c:out value="${ resultMap.result.pRefund.pWonRefundAmt }"/>'); /*이전환불상품금액*/
let pWonRefundDlvyAmt = parseAmount('<c:out value="${ resultMap.result.pRefund.pWonRefundDlvyAmt }"/>'); /*이전환불배송비*/
let wonLimitRefundAmt = wonRlSetleAmt - (pWonRefundAmt + pWonRefundDlvyAmt); /*환불최대금액*/
let refundTyCd = '<c:out value="${ resultMap.result.refnd.refundTyCd }"/>';
let returnMthCd = $('input[name="returnMthCd"]:checked').val(); // 반품 방법 코드
let refundDlvyAmt = '<c:out value="${ resultMap.result.refnd.refundDlvyAmt }"/>'; // 환불 배송비 금액
let returnDlvyRspnsblCd = $('input[name="returnDlvyRspnsblCd"]:checked').val();
let returnDlvyPymntTyCd = $('select[name="returnDlvyPymntTyCd"] option:selected').val(); // 반품 지불 방법 코드
let returnDlvyAmt = $('input[name="returnDlvyAmt"]').val(); // 반품 배송비 금액
let returnDlvyAmtStdr = $('input[name="returnDlvyAmtStdr"]').val(); // 반품 배송비 금액
let buyRate = parseFloat('${resultMap.result.totRefundDscntAmt.buyRate}',2);
let refundTyCd = '<c:out value="${ resultMap.result.refnd.refundTyCd }"/>';
let returnMthCd = $('input[name="returnMthCd"]:checked').val(); // 반품 방법 코드
let refundDlvyAmt = '<c:out value="${ resultMap.result.refnd.refundDlvyAmt }"/>'; // 환불 배송비 금액
let returnDlvyRspnsblCd = $('input[name="returnDlvyRspnsblCd"]:checked').val();
let returnDlvyPymntTyCd = $('select[name="returnDlvyPymntTyCd"] option:selected').val(); // 반품 지불 방법 코드
let returnDlvyAmt = $('input[name="returnDlvyAmt"]').val(); // 반품 배송비 금액
let returnDlvyAmtStdr = $('input[name="returnDlvyAmtStdr"]').val(); // 반품 배송비 금액
let refundMltAmt = 0;
refundMltAmt = parseAmount(refundMltAmt);
let refundMltAmt = 0;
refundMltAmt = parseAmount(refundMltAmt);
let refundCashAmt = 0;
refundCashAmt = parseAmount(refundCashAmt);
let refundCashAmt = 0;
refundCashAmt = parseAmount(refundCashAmt);
let refundAmt = 0; // 최종 환불 금액
let refundAmt = 0; // 최종 환불 금액
let setleAmtGoods = 0;
let setleAmtMlg = 0;
let setleAmtCash = 0;
let setleAmtGoods = 0;
let setleAmtMlg = 0;
let setleAmtCash = 0;
$('input[name="goodsRefundAmt"]').each(function(idx) {
let goodsRefundAmt = parseAmount($(this).val());
refundAmt = refundAmt + goodsRefundAmt;
setleAmtGoods = setleAmtGoods + goodsRefundAmt;
});
$('input[name="totSnggdsRefundMlgAmt"]').each(function(idx) {
let snggdsRefundMlgAmt = parseAmount($(this).val());
refundMltAmt = refundMltAmt + snggdsRefundMlgAmt;
setleAmtMlg = setleAmtMlg + snggdsRefundMlgAmt;
});
$('input[name="totCashDscntUnit"]').each(function(idx) {
let snggdsRefundCashAmt = parseAmount($(this).val());
refundCashAmt = refundCashAmt + snggdsRefundCashAmt;
setleAmtCash = setleAmtCash + snggdsRefundCashAmt;
});
let rlRefundAmt = 0;
rlRefundAmt = refundAmt + refundMltAmt + refundCashAmt;
let rlRefundAmt = 0;
let realRefundAmt = 0; /*실제 결제취소(환불)금액*/
rlRefundAmt = refundAmt + refundMltAmt + refundCashAmt;
realRefundAmt = refundAmt;
// rlRefundAmt = parseAmount(rlRefundAmt);
// 숫자로 변환
@@ -594,14 +590,9 @@
returnDlvyAmt = parseAmount(returnDlvyAmt);
returnDlvyAmtStdr = parseAmount(returnDlvyAmtStdr);
if (refundTyCd === '01') { // 결제 취소
rlRefundAmt = rlRefundAmt + refundDlvyAmt;
realRefundAmt = realRefundAmt + refundDlvyAmt;
if (refundDlvyAmt > 0) {
$('.rlRefundamtBeforeArea').show();
@@ -612,15 +603,10 @@
$('.rlReturnamtBeforeArea').hide();
$('input[name="returnDlvyAmt"]').val(formatWithComma(returnDlvyAmtStdr));
} else if (refundTyCd === '02') { // 반품환불
if (returnDlvyRspnsblCd === '01') { // 구매자
if (returnMthCd === '01') { // 고객이 배송
// returnDlvyAmt = returnDlvyAmt - refundDlvyAmt > 0 ? returnDlvyAmt - refundDlvyAmt : 0;
$('input[name="returnDlvyAmt"]').val(formatWithComma(returnDlvyAmt));
} else if (returnMthCd === '02') { // 상점이 회수
// $('input[name="returnDlvyAmt"]').val(formatWithComma($('input[name="returnDlvyAmt"]').val()));
@@ -630,24 +616,21 @@
if (returnDlvyPymntTyCd === '02') { // 환불 금액에서 차감
rlRefundAmt = rlRefundAmt - returnDlvyAmt > 0 ? rlRefundAmt - returnDlvyAmt : 0;
realRefundAmt = realRefundAmt - returnDlvyAmt > 0 ? realRefundAmt - returnDlvyAmt : 0;
$('.shippingReturnDlvyAmt').text(formatWithComma(returnDlvyAmt))
$('.rlReturnamtBeforeArea').show();
} else {
$('input[name="returnDlvyAmt"]').val(formatWithComma(returnDlvyAmt));
$('.rlReturnamtBeforeArea').hide();
}
$('.rlRefundamtBeforeArea').hide();
// $('input[name="returnDlvyAmt"]').val(formatWithComma(returnDlvyAmt));
} else if (returnDlvyRspnsblCd === '02') { // 판매자
rlRefundAmt = rlRefundAmt + refundDlvyAmt;
realRefundAmt = realRefundAmt + refundDlvyAmt;
if (refundDlvyAmt > 0) {
$('.rlRefundamtBeforeArea').show();
@@ -671,8 +654,18 @@
$('.setleAmtCash').text(formatWithComma(setleAmtCash)); // 결제내역 영역의 상품 마일리지 사용 금액
rlRefundAmt = rlRefundAmt > 0 ? rlRefundAmt : 0;
realRefundAmt = realRefundAmt > 0 ? realRefundAmt : 0;
$('.rlRefundAmt').text(formatWithComma(rlRefundAmt));
$('.realRefundAmt').text(formatWithComma(realRefundAmt));
/*환불금액 한화환불금액 계산*/
let wonRlRefundAmt = Math.round(realRefundAmt * buyRate);
wonRlRefundAmt = wonRlRefundAmt > 0 ? wonRlRefundAmt : 0;
/*환불금액이 최대금액을 넘어설경우 원화 최대치로 치환 */
wonRlRefundAmt = wonRlRefundAmt > wonLimitRefundAmt ? wonLimitRefundAmt : wonRlRefundAmt;
$('.wonRlRefundAmt').text(formatWithComma(wonRlRefundAmt));
}
$('#returnDlvyPymntTyCd').on('change', function() {
@@ -720,9 +713,6 @@
$('select[name="refundMthCd"]').on('change', function() {
fn_refund_mth_ctrl();
});
});
@@ -1114,16 +1104,20 @@
fn_create_input('hidden', "orderReItemVOList["+idx+"].invntryIncrsQy", $('[name=invntryIncrsQy]').eq(idx).val(), hiddenForm);
}
});
/*총 환불금액은 계산된 금액으로 대체 (상품금액 + 배송비)*/
totRefundAmt = parseAmount($('.realRefundAmt').text());
let registRlSetleAmt = parseAmount('${data.ordrGoodsDtl.total.setleAmt}');
let pRefundAmt = parseAmount('<c:out value="${ resultMap.result.pRefund.pRefundAmt }"/>');
let pRefundAmt = parseAmount('<c:out value="${ resultMap.result.pRefund.pRefundAmt }"/>'); /*이전상품환불금액*/
let nowRefundAmt = parseAmount('<c:out value="${ resultMap.result.totRefundDscntAmt.refundAmt }"/>');
console.log("환불 계산 정보 pRefundAmt : ", pRefundAmt);
console.log("환불 계산 정보 nowRefundAmt : ", nowRefundAmt);
let pRefundDlvyAmt = parseAmount('<c:out value="${ resultMap.result.pRefund.pRefundDlvyAmt }"/>'); /*이전환불배송금액*/
console.debug("환불 계산 정보 pRefundAmt : ", pRefundAmt);
console.debug("환불 계산 정보 nowRefundAmt : ", nowRefundAmt);
let registRefundAmt = pRefundAmt + totRefundAmt;
console.log("던질 마일리지가 총 합산을 넘으면 안됌.", registRefundAmt);
console.log("던질 마일리지가 총 합산을 넘으면 안됌.", totRefundAmt);
/*총 환불금액 계산 : 이전상품환불금액 + 현재환불금액(상품환불금액 + 환불배송비) + 이전환불배송금액 */
let registRefundAmt = pRefundAmt + totRefundAmt + pRefundDlvyAmt;
console.debug("던질 마일리지가 총 합산을 넘으면 안됌.", registRefundAmt);
console.debug("던질 마일리지가 총 합산을 넘으면 안됌.", totRefundAmt);
if (registRefundAmt > registRlSetleAmt) {
alert("최종 환불금액이 전체 결제금액을 넘을 수 없습니다.");
@@ -1170,8 +1164,8 @@
location.reload();
}
}, error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
alert(message.errorMsg);
let message = JSON.parse(request.responseText).resBody.result;
alert(message);
}
});
}
@@ -1505,6 +1499,7 @@
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
<spring:eval expression="@environment.getProperty('currency-unit.KR')" var="krUnit"/>
<div class="content__inner">
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
<div class="page-title">
@@ -2673,7 +2668,7 @@
<td class="center" rowspan="${reRowspanCnt}">
<span class="fs-13 fw-400">${reDlvyCnt += ' 번째 배송지'}</span><br>
<span class="fs-13 fw-400">${refundList.dlvyMthNm}</span><br>
<input type="hidden" id="shippingDlvyAmt" value="${ refundList.dlvyAmt }"/>
<input type="hidden" id="shippingDlvyAmt" name="shippingDlvyAmt" value="${ refundList.dlvyAmt }"/>
<c:choose>
<c:when test="${0 == refundList.dlvyAmt}">
<span class="fs-13 fw-400">무료</span>
@@ -2691,7 +2686,7 @@
<c:if test="${status.index == 0}">
<td class="center" ${fn:length(resultMap.result.itemsList) > 1 ? 'rowspan="' += fn:length(resultMap.result.itemsList) += '"' : ''}>
<span class="fs-13 fw-400">${refundList.dlvyMthNm}</span><br>
<input type="hidden" id="shippingDlvyAmt" value="${ refundList.dlvyAmt }"/>
<input type="hidden" id="shippingDlvyAmt" name="shippingDlvyAmt" value="${ refundList.dlvyAmt }"/>
<c:choose>
<c:when test="${0 == refundList.dlvyAmt}">
<span class="fs-13 fw-400">무료</span>
@@ -2739,9 +2734,8 @@
<tfoot>
<tr class="tfoot-sum">
<c:set var="reTotAmt" value="${ resultMap.result.totRefundDscntAmt }"/>
<td>결제내역</td>
<td colspan="4" class="text-right"></td>
<td colspan="7" class="tfoot-sum__sum table__blue-td text-right">
<td colspan="2" style="text-align: left;">결제내역</td>
<td colspan="10" class="tfoot-sum__sum table__blue-td text-right">
<c:if test="${ not empty reTotAmt.refundAmtQySum }">
<span class="comma setleAmtGoods">
<c:out value="${ reTotAmt.refundAmtQySum }"/>
@@ -2790,6 +2784,29 @@
</p>
</td>
</tr>
<tr class="tfoot-sum">
<td colspan="2" style="text-align: left">환불내역(원화 기준)</td>
<td colspan="10" class="tfoot-sum__sum table__blue-td text-center">
실결제 금액 :
<span class="comma">
<c:out value="${ reTotAmt.rlSetleAmt }"/>
</span>${curUnit}
/
<span class="comma">
<c:out value="${ reTotAmt.wonSetleAmt }"/>
</span>${krUnit}
|
환불 금액 :
<span class="comma <c:if test="${ resultMap.result.refnd.refundProcsSttusCd ne '03'}">realRefundAmt</c:if>">
<c:out value="${ reTotAmt.realRefundAmt }"/>
</span>${curUnit}
/
<span class="comma tfoot-sum__sum-num <c:if test="${ resultMap.result.refnd.refundProcsSttusCd ne '03'}">wonRlRefundAmt</c:if>">
<c:out value="${ reTotAmt.realWonRefundAmt }"/>
</span>${krUnit}
</td>
</tr>
</tfoot>
</table>
</div>

View File

@@ -94,7 +94,7 @@
<c:choose>
<c:when test="${ not empty resultMap.list }">
<c:forEach items="${ resultMap.list }" var="subsvcOrdr" varStatus="status">
<tr<c:if test="${lastProcsOdr > mbrLastProcsOdr}"> class="sendOut-info__reseller"</c:if>>
<tr<c:if test="${subsvcOrdr.lastProcsOdr > subsvcOrdr.mbrLastProcsOdr}"> class="sendOut-info__reseller"</c:if>>
<td>
<label class="b-checkbox checkbox is-medium check-all">
<input type="checkbox" name="arrCheck" class="arrCheck" value="${subsvcOrdr.ordrInnb}@${subsvcOrdr.ordrGoodsInnb}@${subsvcOrdr.ordrGoodsOptnInnb}@${subsvcOrdr.ordrDlvyInnb}">

View File

@@ -1145,9 +1145,9 @@ since : 2024.01.04 추지훈 최초 생성
}
}
}/*, error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}*/
});
}

View File

@@ -343,11 +343,12 @@
</c:choose>
<div class="table-wrapper">
<form id="bbsRegForm">
<div class="refund-clause ck-content">
<c:out value="${clauseList[0].stplatNm}" escapeXml="false"/>
<br><br>
<c:out value="${clauseList[0].stplatCn}" escapeXml="false"/>
</div>
<%--구독취소 유의사항--%>
<%-- <div class="refund-clause ck-content">--%>
<%-- <c:out value="${clauseList[0].stplatNm}" escapeXml="false"/>--%>
<%-- <br><br>--%>
<%-- <c:out value="${clauseList[0].stplatCn}" escapeXml="false"/>--%>
<%-- </div>--%>
<table class="table write">
<caption>게시글 등록</caption>
<colgroup>

View File

@@ -270,6 +270,8 @@
border: 1px solid #e9ecef;
padding: clamp(12px, 3%, 18px);
margin-bottom: 16px;
overflow: scroll;
max-height: 170px;
}
</style>
<body>
@@ -292,11 +294,13 @@
<div class="table-wrapper">
<form id="bbsRegForm">
<input type='hidden' name='bbsTyCd' id='bbsTyCd' value='<c:out value="${bbsInfo.bbsTyCd}"/>'>
<div class="refund-clause ck-content">
<c:out value="${clauseList[0].stplatNm}" escapeXml="false"/>
<br><br>
<c:out value="${clauseList[0].stplatCn}" escapeXml="false"/>
</div>
<c:if test="${bbsInfo.bbsTyCd eq '12'}">
<div class="refund-clause ck-content">
<c:out value="${clauseList[0].stplatNm}" escapeXml="false"/>
<br><br>
<c:out value="${clauseList[0].stplatCn}" escapeXml="false"/>
</div>
</c:if>
<table class="table write">
<caption>게시글 등록</caption>
<colgroup>

View File

@@ -16,6 +16,7 @@
<head>
<jsp:include page="/WEB-INF/views/comm/Include.jsp"/>
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
</head>
@@ -23,12 +24,14 @@
$(document).ready(function() {
var subsvcInnb = $('#subsvcInnb').val();
fn_select_subsvcDetail(subsvcInnb);
fn_scroll_event();
});
/******************************************************
* 구독서비스 상세 조회
* ****************************************************/
const fn_select_subsvcDetail = function(subsvcInnb) {
var cdnurl = '${cdnurl}';
var curUnit = '${curUnit}';
$.ajax({
@@ -49,15 +52,23 @@
$('#dscntRaito').text(data.dscntRaito + '%');
$('#subsvcDc').html(data.subsvcDc);
$("#fixedImg").attr("src", cdnurl + data.img);
$('#fixedTitle').text(data.subsvcConcatNm);
$('#fixedPrice').text(fn_format_number(data.selpric));
switch (data.subsvcSttusCd) {
case '01':
$('#subscribeBtn').text('구독하기');
$('#subscribeBtn').prop('disabled', false);
$('#fixedButton').text('구독하기');
$('#fixedButton').prop('disabled', false);
break;
case '02':
case '03':
$('#subscribeBtn').text(data.subsvcSttus);
$('#subscribeBtn').prop('disabled', true);
$('#fixedButton').text(data.subsvcSttus);
$('#fixedButton').prop('disabled', true);
break;
default:
break;
@@ -66,9 +77,74 @@
});
}
/*************************************************************
구매하기 버튼
**************************************************************/
const fn_purchs_subsvc = function() {
var checkedValue = $("select[name='subsvcInnb']").val();
var tempForm = $('<form>', {
method: 'post',
action: '/sopmal/ordr/selectSubsvcPurchsForm'
});
$('<input>', {
type: 'hidden',
name: 'subsvcInnb',
value: checkedValue
}).appendTo(tempForm);
tempForm.appendTo('body');
tempForm.submit();
tempForm.remove();
}
/******************************************************
* 숫자 자릿점 포메팅
* ****************************************************/
const fn_format_number = function(number) {
return Number(number).toLocaleString();
}
/*************************************************************
탭, 스크롤 이벤트
**************************************************************/
const fn_scroll_event = () => {
function handleTabScroll() {
var scrollTop = $(window).scrollTop();
var fixedTabHeight = 100;
var initialProductDetailTop = $('#subsvcDc').offset().top;
var threshold = initialProductDetailTop - fixedTabHeight;
if (scrollTop > threshold) {
if (!$(".productDetailTab").hasClass("fixed")) {
$(".productDetailTab").addClass("fixed");
$(".fixedProduct").addClass("fixed");
$('#subsvcDc').css("margin-top", 62 + "px");
}
} else {
if ($(".productDetailTab").hasClass("fixed")) {
$(".productDetailTab").removeClass("fixed");
$(".fixedProduct").removeClass("fixed");
$('#subsvcDc').css("margin-top", "");
}
}
}
var debounce = function (func, delay) {
var timer;
return function () {
var context = this,
args = arguments;
clearTimeout(timer);
timer = setTimeout(function () {
func.apply(context, args);
}, delay);
};
};
$(window).scroll(debounce(handleTabScroll, 20));
}
</script>
<style>
.container {
@@ -112,6 +188,10 @@
border: 1px solid #e9ecef;
padding: clamp(12px, 3%, 18px);
}
.productDetailTab.fixed {
height: 100px;
}
</style>
<body>
<%-- 공통 Header --%>
@@ -122,7 +202,7 @@
<div class="sub-content">
<form>
<h2 class="subList__title">구독 서비스</h2>
<div class="ck-content" style="border: 1px solid #e9ecef">
<div class="ck-content" style="border: 1px solid #e9ecef; background-color: #f8f9fB;">
<c:out value="${ resultMap.sopmalInfo[0].subsvcGuidanceWords }" escapeXml="false"/>
</div>
<c:choose>
@@ -159,7 +239,7 @@
<span id="selpric" class="product-unit-price__current"></span>
<span id="dscntRaito" style="color: red">%</span>
</div>
<button id="subscribeBtn" class="btn theme large">구독하기</button>
<button type="button" id="subscribeBtn" class="btn theme large" onclick="fn_purchs_subsvc();">구독하기</button>
</div>
</div>
</c:when>
@@ -167,7 +247,25 @@
<span style="display: block; width: 100%; text-align: center; font-size: 32px;">구독 서비스 상품 준비중</span>
</c:otherwise>
</c:choose>
<div class="productDetailTab">
<div class="fixedProduct">
<div class="fixedProduct__left">
<div class="fixedProduct__image">
<img id="fixedImg" alt="상품이미지" onerror="this.src='/pc/images/image_placeholder.png'">
</div>
<div class="fixedProduct__product">
<p id="fixedTitle" class="fixedProduct__title">상품명</p>
<span class="fixedProduct__price">
<span id="fixedPrice" class="comma">상품가격</span>
<span class="priceUnit"></span><span class="priceUnit">${curUnit}</span>
</span>
</div>
</div>
<div class="fixedProduct__right">
<button type="button" id="fixedButton" class="btn theme lg purchsOrdr" onclick="fn_purchs_subsvc();">구독하기</button>
</div>
</div>
</div>
<div id="subsvcDc" class="ck-content">구독 서비스 상품 설명</div>
</form>
</div>

View File

@@ -635,6 +635,14 @@
return;
}
// console.log("mbtlnb : ",$('#mbtlnb').val());
if ($('#mbtlnb').val() === null || $('#mbtlnb').val() === '') {
alert('휴대폰 번호를 입력해주세요.');
$('#mbtlnb').focus();
fn_regist_fail();
return;
}
if (!isChkd_Dup) {
alert('아이디 중복 확인을 해주세요.');
$('#mbrId').focus();
@@ -690,7 +698,7 @@
return;
}
fn_make_brthDe();
// fn_make_mbtlnb();
fn_make_mbtlnb();
var email = $('#email').val();
$('[name=email]').val(email.trim());
@@ -1060,6 +1068,13 @@
<tbody id="rejoinSelect"></tbody>
</table>
</div>
<div class="signUp__inputBox__item">
<div class="signUp__inputBox__itemTitle">휴대전화<span class="required-asterisk">*</span></div>
<div class="inputWithBtn">
<input type="text" class="input-text full number" id="mbtlnb" title="휴대폰" placeholder="휴대폰번호 입력 (’-’ 없이)" oninput="fn_set_event(this, 'keyup', fn_fmt_telno)" maxlength="13">
<input type="hidden" name="mbtlnb">
</div>
</div>
<div class="signUp__inputBox__item">
<div class="signUp__inputBox__itemTitle">아이디<span class="required-asterisk">*</span></div>
<div class="inputWithBtn">

View File

@@ -40,6 +40,7 @@
**********************************************************/
const fn_init = function () {
fn_get_ordr_dlvy_list(1);
fn_get_subsvc_ordr_dlvy_list(1);
}
/* ********************************************************
@@ -535,9 +536,32 @@
$('#pageDiv').html(html);
},
error:function (request) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
/* 구독서비스 주문/배송 목록 조회 */
const fn_get_subsvc_ordr_dlvy_list = function (index) {
if (!fn_is_empty(index)) {
$('#subsvcPageIndex').val(index);
}
let data = $('#subsvcCondForm').serialize();
$.ajax({
type:'post',
url:'<c:url value="/sopmal/mpage/ordr/selectMbrSubsvcOrdrListInqireMapge"/>',
data:data,
success:function (html) {
$('#subsvcPageDiv').html(html);
},
error:function (request) {
let message = JSON.parse(request.responseText).resBody.result;
alert(message);
}
});
}
@@ -563,9 +587,9 @@
}
},
error:function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -591,9 +615,9 @@
}
},
error:function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -611,6 +635,19 @@
$(form).submit();
}
/* 구독서비스 주문상세 이동 */
const fn_go_subsvc_dtl = function (sopmalCd, ordrInnb) {
var form = $('#condForm');
$(form).append($('<input/>', {type: 'hidden', name: 'ordrInnb', id: 'ordrInnb', value: ordrInnb}));
$(form).append($('<input/>', {type: 'hidden', name: 'dateRange', id: 'dateRange', value: 'allDays'}));
$(form).attr('method', 'get');
$(form).attr('action', '<c:url value="/sopmal/mpage/ordr/selectMbrSubsvcOrdrDtlInqire"/>');
$(form).submit();
}
/* 검색조건 세팅 */
const fn_set_param = function () {
const params = ${paramVO};
@@ -701,9 +738,9 @@
}
},
error:function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -752,9 +789,9 @@
}
},
error:function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -812,9 +849,9 @@
}
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -932,6 +969,15 @@
<a class="sub-right-content__more" href="/sopmal/mpage/ordr/selectMbrOrdrListInqire">전체보기</a>
</div>
<div class="sub-right-content__section">
<h3 class="sub-right-content__innerTitle">최근 주문 (구독서비스)</h3>
<form id="subsvcCondForm">
<input type="hidden" name="pageIndex" id="subsvcPageIndex" value="1">
</form>
<div id="subsvcPageDiv"></div>
<a class="sub-right-content__more" href="/sopmal/mpage/ordr/selectMbrSubsvcOrdrListInqireRForm">전체보기</a>
</div>
<div class="sub-right-content__section">
<h3 class="sub-right-content__innerTitle">위시리스트</h3>
<c:choose>

View File

@@ -40,15 +40,20 @@
<div class="shipping-list__item">
<div class="shipping-list__item-top">
<div class="custom-radio-container">
<div class="custom-radio" onclick = "fn_select_mngrOrdr_postcode(${callbackNm},${status.index}, '${formId}')">
<label for="${status.index}">
<div class="custom-radio">
<%-- <div class="custom-radio" onclick = "fn_select_mngrOrdr_postcode(${callbackNm},${status.index}, '${formId}')">--%>
<%-- <label for="${status.index}">--%>
<span><c:out value="${resultMap.dlvylcDcCn }" /></span>
</label>
<%-- </label>--%>
</div>
<c:if test="${resultMap.dftDlvylcAt eq 'Y'}">
<span class="default-address">기본배송지</span>
</c:if>
</div>
<button type = "button" class="shipping-apply-btn"
onclick = "fn_select_mngrOrdr_postcode(${callbackNm}, ${status.index}, '${formId}')">
적용
</button>
<button type = "button" class="shipping-modify-btn" id="upt<c:out value="${resultMap.adbkInnb}" />"
onclick="fn_move_dlvylc_uptpage_pop('<c:out value='${pageIndex}'/>',
'<c:out value='${resultMap.adbkInnb}'/>',
@@ -64,7 +69,7 @@
</button>
</c:if>
</div>
<label for="${status.index}" onclick = "fn_select_mngrOrdr_postcode(${callbackNm},${status.index}, '${formId}')">
<%-- <label for="${status.index}" onclick = "fn_select_mngrOrdr_postcode(${callbackNm},${status.index}, '${formId}')">--%>
<div class="shipping-list__item-inner">
<p class="name"><c:out value="${resultMap.recpntNm }" /></p>
<p>(<c:out value="${resultMap.zip }" />)
@@ -80,7 +85,7 @@
</p>
<p class="number mbtlnbPop"><c:out value="${resultMap.mbtlnb}" /></p>
</div>
</label>
<%-- </label>--%>
</div>
</div>
<input type="hidden" name="zip" class = "zip" value="<c:out value='${resultMap.zip}'/>" />

View File

@@ -34,12 +34,12 @@
});
});
</script>
<div id="dlvylcUpdate" class="modal default" style="max-width: 600px;">
<div id="dlvylcUpdate" class="modal default" style="max-width: 600px; max-height: 100%;">
<form id="dlvylcUpdtForm" name="dlvylcUpdtForm" action="<c:url value="/crm/dlvylc/updateDlvylcUpdt"/>" method="post">
<div class="modal-header">
<div class="modal-header__title">배송지 수정</div>
</div>
<div class="modal-content">
<div class="modal-content" style="max-height: 600px;">
<div class="custom-radio-container">
<div class="custom-radio">
<input type="radio" id="langKr" name="dlvylcAreaCd" value="KR" <c:if test="${'KR' eq dtlDlvylc.resultVO.dlvylcAreaCd}">checked</c:if>>

View File

@@ -54,17 +54,17 @@
// fn_alert_hide_selected();
//휴대폰번호 포매팅
// if($("#lagacyMbtlnb").text() !== ''){
// fn_set_lagacyMbtlnb($("#lagacyMbtlnb").text());
// }
if($("#mbtlnb").val() !== ''){
fn_set_lagacyMbtlnb($("#mbtlnb").val());
}
});
/* ********************************************************
* 휴대폰번호 포매팅
******************************************************** */
const fn_set_lagacyMbtlnb = function(mbtlnb) {
$("#lagacyMbtlnb").text(fn_format_mbtlnb(mbtlnb));
$("#inputMbtlnb").val(mbtlnb);
$("#mbtlnb").val(fn_format_mbtlnb(mbtlnb));
// $("#inputMbtlnb").val(mbtlnb);
}
/* ********************************************************
@@ -838,6 +838,15 @@
// $('#dtlAdres').focus();
// return;
// }
if ($('#mbtlnb').val() === null || $('#mbtlnb').val() === '') {
alert('휴대폰 번호를 입력해주세요.');
$('#mbtlnb').focus();
return;
}
let mbtlnb = $('#mbtlnb').val().trim().replace(/-/g, '');
$('[name=mbtlnb]').val(mbtlnb);
// console.log("mbtlnb : ",mbtlnb);
const data = $("#mbrInfoUpdtForm").serialize();
if (confirm('회원 정보를 <spring:message code="confirm.common.update"/>')) {
@@ -1195,6 +1204,18 @@
</div>
</td>
</tr>
<tr>
<th>
<span class="editAccount__title">휴대폰번호</span>
</th>
<td>
<div class="inputWithBtn">
<input type="text" class="input-text full number update-text" id="mbtlnb" title="휴대폰" placeholder="휴대폰번호 입력 (’-’ 없이)" oninput="fn_set_event(this, 'keyup', fn_fmt_telno)" value="<c:out value="${ resultMap.result.mbtlnb }"/>" maxlength="13">
<input type="hidden" name="mbtlnb" value="<c:out value="${resultMap.result.mbtlnb}"/>" id="inputMbtlnb">
</div>
<%-- <p class="signUp__inputBox__alertText" id="mbtlnbAlert">휴대폰 번호를 입력해 주세요.</p>--%>
</td>
</tr>
<%-- <tr>--%>
<%-- <th>--%>
<%-- <span class="editAccount__title">이메일</span>--%>

View File

@@ -64,9 +64,9 @@
$('#pageDiv').html(html);
},
error: function(data) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}

View File

@@ -542,9 +542,9 @@
}
},
error: function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -572,9 +572,9 @@
}
},
error: function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -653,9 +653,9 @@
}
},
error: function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
$("#btnSetleCancl").prop("disabled",false);
}
});
@@ -702,9 +702,9 @@
}
},
error: function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -773,9 +773,9 @@
}
},
error: function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
$("#btnReturnRegist").prop("disabled",false);
}
});
@@ -1382,7 +1382,8 @@
</tr>
</tbody>
</table>
<p class="textInfo"><i class="icon icon_textInfo--sm"></i>주문자 정보로 주문 관련 정보가 문자와 이메일로 발송됩니다.</p>
<%-- <p class="textInfo"><i class="icon icon_textInfo--sm"></i>주문자 정보로 주문 관련 정보가 문자와 이메일로 발송됩니다.</p>--%>
<p class="textInfo"><i class="icon icon_textInfo--sm"></i>주문자 정보로 주문 관련 정보가 이메일로 발송됩니다.</p>
</div>
</div>

View File

@@ -557,9 +557,9 @@
$('#pageDiv').html(html);
},
error:function (data) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -587,9 +587,9 @@
}
},
error:function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -619,9 +619,9 @@
fn_mpage_info_refresh();
},
error:function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -743,9 +743,9 @@
}
},
error:function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -814,8 +814,8 @@
$('#btnSetleCancl').prop('disabled', false);
},
error:function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
alert(message.errorMsg);
let message = JSON.parse(request.responseText).resBody.result;
alert(message);
$('#btnSetleCancl').prop('disabled', false);
}
}).done( function (data) {
@@ -899,8 +899,8 @@
}
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
alert(message.errorMsg);
let message = JSON.parse(request.responseText).resBody.result;
alert(message);
$('#btnReturnRegist').prop('disabled', false);
}
});

View File

@@ -49,6 +49,9 @@
<c:when test="${order.ordrSttusCd == 75}">
<span class="orderList__status complete"><c:out value="${order.ordrSttusNm}"/></span>
</c:when>
<c:when test="${order.ordrSttusCd > 84 && order.ordrSttusCd < 100}">
<a class="btn full orderList__status cancel" style="background-color:transparent;"><c:out value="${order.ordrSttusNm}"/></a>
</c:when>
</c:choose>
<c:if test="${ order.ordrTyCd == '04'}">
<br/>

View File

@@ -7,6 +7,7 @@
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
<spring:eval expression="@environment.getProperty('currency-unit.KR')" var="krUnit"/>
<%--
Class Name : OrdrDtlR.jsp
Description : 마이페이지 주문/배송조회
@@ -23,6 +24,7 @@
<%-- 공통 include --%>
<jsp:include page="/WEB-INF/views/comm/Include.jsp"/>
<c:set var="order" value="${data.order}"/>
<script src="<c:url value='/js/dlvylc/dlvylc.js'/>"></script>
@@ -96,6 +98,7 @@
const checkLength = $(row).find('input[name="goodsCheck"]:checked').length;
if (checkLength === 0) {
alert('결제취소/환불 하실 상품을 선택해 주십시요.');
@@ -583,6 +586,8 @@
dlvylc['recpntNm'] = data.recpntNm;
dlvylc['recpntMbtlnb'] = data.mbtlnb;
dlvylc['dlvylcZip'] = data.postcode;
dlvylc['dlvylcAreaCd'] = data.dlvylcAreaCd;
dlvylc['prefcd'] = data.prefcd;
dlvylc['dlvylcAdresDvCd'] = data.addressType;
dlvylc['dlvylcLnbAdres'] = data.jibunAddress;
dlvylc['dlvylcRnmAdres'] = data.roadAddress;
@@ -602,9 +607,9 @@
}
},
error:function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -631,9 +636,9 @@
}
},
error:function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -707,9 +712,10 @@
$("#btnSetleCancl").prop("disabled",true);
},
error:function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
console.log(request);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
$("#btnSetleCancl").prop("disabled",true);
}
}).done( function (data) {
@@ -760,9 +766,9 @@
location.reload();
},
error:function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -826,9 +832,9 @@
$("#btnReturnRegist").prop("disabled",false);
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
$("#btnReturnRegist").prop("disabled",false);
}
});
@@ -1122,7 +1128,6 @@
<%-- 마이페이지 Right 영역 --%>
<jsp:include page="/WEB-INF/views/comm/mpage/MypageRight.jsp"/>
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
<c:set var="order" value="${data.order}"/>
<form id="refundForm">
<input type="hidden" id="orderReInnb" name="orderReInnb"/>
<input type="hidden" id="refundOrdrInnb" name="ordrInnb"/>
@@ -1454,10 +1459,7 @@
</c:when>
<c:when test="${goods.ordrSttusCd > 34 && goods.ordrSttusCd < 55}">
<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>
<c:if test="${ goods.purchsDcsnAt eq 'N' }">
<a href="javascript:void(0);" onclick="fn_call_setle_cancl_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>', '<c:out value="${shipping.ordrDlvyInnb}"/>', '<c:out value="${setleDt}"/>', '<c:out value="${setleTyCd}"/>', '<c:out value="${order.ordrSttusCd}"/>');" class="btn-ordr-sttus btn gray sm full">결제취소</a>
</c:if>
</c:when>
<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);" id="reqstRefund" class="btn-ordr-sttus btn gray sm full" onclick="fn_pop_m2mqna_regist('<c:out value="${order.ordrInnb}"/>');">반품신청</a>
@@ -1537,7 +1539,7 @@
</tr>
</tbody>
</table>
<p class="textInfo"><i class="icon icon_textInfo--sm"></i>개인정보 보호법에 의하여 6개월이 지난 주문의 개인정보는 삭제처리됩니다.</p>
<%-- <p class="textInfo"><i class="icon icon_textInfo--sm"></i>개인정보 보호법에 의하여 6개월이 지난 주문의 개인정보는 삭제처리됩니다.</p>--%>
</div>
</c:forEach>
</c:when>
@@ -1576,8 +1578,9 @@
</tr>
</tbody>
</table>
<p class="textInfo"><i class="icon icon_textInfo--sm"></i>개인정보 보호법에 의하여 6개월이 지난 주문의 개인정보는 삭제처리됩니다.</p><br>
<p class="textInfo"><i class="icon icon_textInfo--sm"></i>주문자 정보로 주문 관련 정보가 문자와 이메일로 발송됩니다.</p>
<%-- <p class="textInfo"><i class="icon icon_textInfo--sm"></i>개인정보 보호법에 의하여 6개월이 지난 주문의 개인정보는 삭제처리됩니다.</p><br>--%>
<%-- <p class="textInfo"><i class="icon icon_textInfo--sm"></i>주문자 정보로 주문 관련 정보가 문자와 이메일로 발송됩니다.</p>--%>
<p class="textInfo"><i class="icon icon_textInfo--sm"></i>주문자 정보로 주문 관련 정보가 이메일로 발송됩니다.</p>
</div>
</div>
@@ -1615,7 +1618,7 @@
</c:if>
<tr>
<th>결제금액</th>
<td><span class="comma"><fmt:formatNumber value="${setle.setleAmt}" pattern="#,###"/></span>${curUnit}</td>
<td><span class="comma"><fmt:formatNumber value="${setle.setleAmt}" pattern="#,###"/></span>${curUnit} / <span class="comma">${setle.wonSetleAmt}</span>${krUnit}</td>
</tr>
<c:if test = "${order.ordrSttusCd ne '85' && order.ordrSttusCd ne '95'}"><%--주문취소시 미노출--%>
<tr>
@@ -1636,45 +1639,6 @@
</td>
</tr>
</c:if>
<c:if test="${setle.reqstDvCd ne '04'}">
<c:if test="${not empty setle.issuSttusCd && order.ordrSttusCd ne '85' && order.ordrSttusCd ne '95'}">
<tr>
<th>현금영수증</th>
<td>
<c:choose>
<c:when test="${order.salesPosbleRegistAt eq 'N'}">
<span class="orderDetail__waiting"><c:out value="${setle.crtnb eq '0100001234' ? '미신청' : setle.crtnb}"/></span>
<button type="button" class="btn xsm gray2" onclick="fn_regist_popopen('<c:out value="${setle.selngPrufInnb}"/>','update');">정보수정</button>
</c:when>
<c:when test="${order.salesPosbleRegistAt eq 'Y' && setle.crtnb eq '0100001234'}">
<span class="orderDetail__waiting">미신청</span>
<button type="button" class="btn xsm gray2" onclick="fn_regist_popopen('<c:out value="${setle.selngPrufInnb}"/>','regist');">신청하기</button>
</c:when>
<c:otherwise>
<span class="orderDetail__waiting" id='ctrnb'><script>$("#ctrnb").text('${setle.issuSttusNm} ('+fn_format_mbtlnb('${setle.crtnb}')+')');</script></span>
<span class="orderDetail__deduction"><c:out value="${setle.issuTrgetDvCd eq '01' ? '개인소득공제' : '사업자지출증빙'}"/></span>
<c:if test="${ !empty setle.cshRciptDelngNb }">
<%-- 현:현금영수증 --%>
<button type="button" class="btn xsm gray2" onclick="fn_open_selng_pruf_inqire_modal(
'<c:out value="${ setle.sopmalCd }" />'
,'<c:out value="${ setle.pgInnb }" />'
,'<c:out value="${ setle.pgCmpnyNm }" />'
,'<c:out value="${ setle.cshRciptDelngNb }" />'
,'<c:out value="${ setle.reqstDvCd }" />'
,'<c:out value="${ setle.setleTyCd }" />'
,'<c:out value="${ setle.ordrSetleInnb }" />'
,'<c:out value="${ setle.ordrInnb }" />'
,'<c:out value="${ setle.mid }" />'
,'<fmt:parseNumber value="${ setle.setleAmt }"/>'); return false;">
보기
</button>
</c:if>
</c:otherwise>
</c:choose>
</td>
</tr>
</c:if>
</c:if>
</tbody>
</table>
</c:forEach>
@@ -1721,7 +1685,7 @@
</ul>
<div class="cartOrderBox__total">
<span class="cartOrderBox__totalTh">결제금액</span>
<span class="cartOrderBox__totalTd"><span class="comma"><fmt:formatNumber value="${total.setleAmt}" pattern="#,###"/></span><span class="priceUnit">${curUnit}</span></span>
<span class="cartOrderBox__totalTd"><span class="comma"><fmt:formatNumber value="${total.setleAmt}" pattern="#,###"/></span><span class="priceUnit">${curUnit}</span> / <span class="comma">${total.wonRlSetleAmt}</span><span class="priceUnit">${krUnit}</span></span>
</div>
</div>
</div>
@@ -1735,61 +1699,61 @@
</c:forEach>
<%-- <c:if test="${not empty data.refundList }">--%>
<c:if test="${showSection}">
<div class="sub-right-content__section">
<h3 class="sub-right-content__title">무효/취소/반품 내역</h3>
<div class="sub-right-content__section">
<div class="table-wrapper">
<table class="table vertical">
<caption>주문상세내역</caption>
<colgroup>
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 12%;">
<col style="width: 12%;">
<col style="width: 12%;">
</colgroup>
<thead>
<tr>
<th>무효/취소/반품</th>
<th>접수일시</th>
<th>처리일시</th>
<th>처리수량</th>
<th>처리금액</th>
<th>처리상태</th>
<th>보기</th>
</tr>
</thead>
<tbody>
<c:forEach var="refund" items="${data.refundList}">
<c:if test="${ refund.useAt eq 'Y' }">
<tr>
<td> <c:out value="${refund.refundTyNm}"/></td>
<td><c:out value="${refund.refundReqstDt}"/></td>
<td><c:out value="${refund.refundComptDt}"/></td>
<td><fmt:formatNumber value="${refund.refundQy}" pattern="#,###"/></td>
<td><fmt:formatNumber value="${refund.refundAmt}" pattern="#,###"/></td>
<td>
<c:out value="${refund.refundProcsSttusNm }"/>
</td>
<td>
<c:if test = "${order.ordrSttusCd ne '95'}">
<button type="button" class="btn sm outline"
onclick="fn_move_dtlupdt('<c:out value="${refund.orderRefundInnb}"/>','<c:out value="${refund.ordrInnb}"/>');">
상세보기
</button>
</c:if>
</td>
</tr>
</c:if>
</c:forEach>
</tbody>
</table>
</div>
</div>
</div>
</c:if>
<%-- <c:if test="${showSection}">--%>
<%-- <div class="sub-right-content__section">--%>
<%-- <h3 class="sub-right-content__title">무효/취소/반품 내역</h3>--%>
<%-- <div class="sub-right-content__section">--%>
<%-- <div class="table-wrapper">--%>
<%-- <table class="table vertical">--%>
<%-- <caption>주문상세내역</caption>--%>
<%-- <colgroup>--%>
<%-- <col style="width: auto;">--%>
<%-- <col style="width: 20%;">--%>
<%-- <col style="width: 20%;">--%>
<%-- <col style="width: 12%;">--%>
<%-- <col style="width: 12%;">--%>
<%-- <col style="width: 12%;">--%>
<%-- </colgroup>--%>
<%-- <thead>--%>
<%-- <tr>--%>
<%-- <th>무효/취소/반품</th>--%>
<%-- <th>접수일시</th>--%>
<%-- <th>처리일시</th>--%>
<%-- <th>처리수량</th>--%>
<%-- <th>처리금액</th>--%>
<%-- <th>처리상태</th>--%>
<%-- <th>보기</th>--%>
<%-- </tr>--%>
<%-- </thead>--%>
<%-- <tbody>--%>
<%-- <c:forEach var="refund" items="${data.refundList}">--%>
<%-- <c:if test="${ refund.useAt eq 'Y' }">--%>
<%-- <tr>--%>
<%-- <td> <c:out value="${refund.refundTyNm}"/></td>--%>
<%-- <td><c:out value="${refund.refundReqstDt}"/></td>--%>
<%-- <td><c:out value="${refund.refundComptDt}"/></td>--%>
<%-- <td><fmt:formatNumber value="${refund.refundQy}" pattern="#,###"/></td>--%>
<%-- <td><fmt:formatNumber value="${refund.refundAmt}" pattern="#,###"/></td>--%>
<%-- <td>--%>
<%-- <c:out value="${refund.refundProcsSttusNm }"/>--%>
<%-- </td>--%>
<%-- <td>--%>
<%-- <c:if test = "${order.ordrSttusCd ne '95'}">--%>
<%-- <button type="button" class="btn sm outline"--%>
<%-- onclick="fn_move_dtlupdt('<c:out value="${refund.orderRefundInnb}"/>','<c:out value="${refund.ordrInnb}"/>');">--%>
<%-- 상세보기--%>
<%-- </button>--%>
<%-- </c:if>--%>
<%-- </td>--%>
<%-- </tr>--%>
<%-- </c:if>--%>
<%-- </c:forEach>--%>
<%-- </tbody>--%>
<%-- </table>--%>
<%-- </div>--%>
<%-- </div>--%>
<%-- </div>--%>
<%-- </c:if>--%>
<div class="sub-bottom-btn-container">
<a href="javascript:void(0);" id="btnOrdrList" class="btn xl outline theme">주문 목록</a>

View File

@@ -165,6 +165,7 @@
<div class="sub-rl">
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
<spring:eval expression="@environment.getProperty('currency-unit.KR')" var="krUnit"/>
<%-- 마이페이지 Left 영역 --%>
<jsp:include page="/WEB-INF/views/comm/mpage/MypageLeft.jsp"/>
<div class="sub-right-content">
@@ -758,8 +759,7 @@
</span>
</div>
<div class="priceSum__operator">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"
viewBox="0 0 16 16" fill="none">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
<g clip-path="url(#clip0_160_29539)">
<path
d="M8.99824 7.00176V0H7.00176V7.00176H0V8.99824H7.00176V16H8.99824V8.99824H16V7.00176H8.99824Z"
@@ -854,14 +854,24 @@
<path d="M3.5 8.16699H24.5V10.5003H3.5V8.16699Z" fill="black" />
</svg>
</div>
<div class="priceSum__total">
<span class="priceSum__totalTitle">환불 금액</span>
<div class="priceSum__totalPrice">
<span class="comma"><c:out value="${ reTotAmt.rlRefundAmt }"/></span>
<span class="priceUnit">${curUnit}</span>
<div class="priceSum__item priceSum__item--misc" style="align-items: unset;">
<div class="priceSum__total">
<span class="priceSum__totalTitle">총 환불금액</span>
<div class="priceSum__itemPrice">
<span class="comma"><c:out value="${ reTotAmt.rlRefundAmt }"/></span>
<span class="priceUnit">${curUnit}</span>
</div>
</div>
<div class="priceSum__totalDetail">
(상품금액 <span class="comma"><c:out value="${ reTotAmt.refundAmtQySum }"/></span>${curUnit} + 배송비 <span class="comma"><c:out value="${ reTotAmt.rlDlvyAmt }"/></span>${curUnit})
<div class="priceSum__total">
<span class="priceSum__totalTitle">실 환불금액</span>
<div class="priceSum__totalPrice">
<span class="comma"><c:out value="${ reTotAmt.realRefundAmt }"/></span>
<span class="priceUnit">${curUnit}</span>
</div>
<span class="priceSum__itemPrice">
[<span class="comma"><c:out value="${ reTotAmt.realWonRefundAmt }"/></span>
<span class="priceUnit">${krUnit}</span>]
</span>
</div>
</div>
</div>
@@ -902,6 +912,9 @@
<input type="hidden" id="pageIndex" name="pageIndex" value="${ paramVO.pageIndex }"/>
<input type="hidden" id="recordCountPerPage" name="recordCountPerPage" value="${ paramVO.recordCountPerPage }"/>
<input type="hidden" id="pageUnit" name="pageUnit" value="${ paramVO.pageUnit }"/>
<input type="hidden" name="srchwrd" id="srchwrd" value="${ paramVO.srchwrd }"/>
<input type="hidden" name="bgnDt" id="bgnDt" value="${ paramVO.bgnDt }"/>
<input type="hidden" name="endDt" id="endDt" value="${ paramVO.endDt }"/>
</form>
<%-- 공통 Footer --%>

View File

@@ -27,7 +27,7 @@
<script>
$(document).ready(function() {
// fn_set_param();
fn_set_param();
let pageIndex = '<c:out value="${ resultMap.paramVO.pageIndex }"/>';
let pageUnit = '<c:out value="${ resultMap.paramVO.pageUnit }"/>';
@@ -71,7 +71,9 @@
}
/* 검색조건 세팅 */
/******************************************************************
* 검색조건 세팅
******************************************************************/
const fn_set_param = function() {
const params = ${paramVO};
const keys = Object.keys(params);

View File

@@ -0,0 +1,92 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
<c:choose>
<c:when test="${not empty data.resultList}">
<c:forEach var="order" items="${data.resultList}" begin="0" end="4">
<div class="orderList__item">
<div class="orderList__item__inner">
<a href="<c:url value="/sopmal/goods/selectGoodsDtl?sopmalCd=${order.sopmalCd}&goodsInnb=${order.goodsInnb}"/>" class="orderList__image">
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
<img src="<c:out value="${ cdnurl }${order.goodsImageUrl}"/>" onerror="this.src='/pc/images/image_placeholder.png'" alt="<c:out value="${order.goodsNm}"/>">
</a>
<div class="orderList__description">
<div class="orderList__description__first">
<div class="orderList__item__top">
<a href="javascript:void(0);" onclick="fn_go_subsvc_dtl('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>');" class="orderList__orderNum"><c:out value="${order.ordrInnb}"/></a>
<span class="orderList__dot">·</span>
<span class="orderList__date"><c:out value="${order.ordrDt}"/> 주문</span>
</div>
<a href="javascript:void(0);" onclick="fn_go_subsvc_dtl('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>');" class="orderList__productTitle"><c:out value="${order.goodsNm}"/></a>
<%--<span class="orderList__option"><c:out value="${order.optnNm}"/></span>--%>
<span class="cartItem__productOption"><span class="option-badge">옵션</span> <c:out value="${order.optnNm}"/></span>
<c:if test="${not empty order.inputOptnText}">
<span class="orderList__option"><c:out value="${order.inputOptnText}"/></span>
</c:if>
</div>
<div class="orderList__description__second">
<span class="orderList__price"><span class="comma"><fmt:formatNumber value="${order.setleAmt}" pattern="#,###"/></span>${curUnit}</span>
</div>
<%-- <div class="orderList__description__third">--%>
<%-- <span class="orderList__mileage"><span class="comma">예상적립 <fmt:formatNumber value="${order.mlgAmt}" pattern="#,###"/></span>점</span>--%>
<%-- </div>--%>
<div class="orderList__description__fourth">
<c:choose>
<c:when test="${order.ordrSttusCd > 14 && order.ordrSttusCd < 36}">
<span class="orderList__status"><c:out value="${order.ordrSttusNm}"/></span>
</c:when>
<c:when test="${order.ordrSttusCd > 39 && order.ordrSttusCd < 71}">
<span class="orderList__status delivery"><c:out value="${order.ordrSttusNm}"/></span>
</c:when>
<c:when test="${order.ordrSttusCd == 75}">
<span class="orderList__status complete"><c:out value="${order.ordrSttusNm}"/></span>
</c:when>
<c:when test="${order.ordrSttusCd > 84 && order.ordrSttusCd < 100}">
<span class="orderList__status cancel"><c:out value="${order.ordrSttusNm}"/></span>
</c:when>
</c:choose>
</div>
<%--
<div class="orderList__btnControls">
<c:choose>
<c:when test="${order.ordrSttusCd == 15}">
<a href="javascript:void(0);" onclick="fn_post_cancl_ordr('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>');" class="btn-ordr-sttus btn gray sm full">주문무효</a>
<a href="javascript:void(0);" onclick="fn_dlvylc_manage_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>', '<c:out value="${order.ordrDlvyInnb}"/>', '<c:out value="${order.mbrInnb}"/>', '<c:out value="${order.mbrDvCd}"/>');" class="btn-ordr-sttus btn outline sm full">배송지 변경</a>
</c:when>
<c:when test="${order.ordrSttusCd > 24 && order.ordrSttusCd < 36}">
<a href="javascript:void(0);" onclick="fn_call_setle_cancl_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>', '');" class="btn-ordr-sttus btn gray sm full">결제취소</a>
<a href="javascript:void(0);" onclick="fn_dlvylc_manage_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>', '<c:out value="${order.ordrDlvyInnb}"/>', '<c:out value="${order.mbrInnb}"/>', '<c:out value="${order.mbrDvCd}"/>');" class="btn-ordr-sttus btn outline sm full">배송지 변경</a>
</c:when>
<c:when test="${order.ordrSttusCd > 39 && order.ordrSttusCd < 66}">
<a href="javascript:void(0);" onclick="fn_call_dlvy_sweettracker_pop('<c:out value="${order.ordrInnb}"/>');" class="btn outline sm full">배송조회</a>
<a href="javascript:void(0);" onclick="fn_call_refund_pop('<c:out value="${order.ordrInnb}"/>');" class="btn-ordr-sttus btn gray sm full">반품신청</a>
</c:when>
<c:when test="${order.ordrSttusCd > 69 && order.ordrSttusCd < 76}">
<a href="javascript:void(0);" onclick="fn_call_dlvy_sweettracker_pop('<c:out value="${order.ordrInnb}"/>');" class="btn outline sm full">배송조회</a>
<a href="javascript:void(0);" onclick="fn_call_refund_pop('<c:out value="${order.ordrInnb}"/>');" class="btn-ordr-sttus btn gray sm full">반품신청</a>
<a href="<c:url value="/sopmal/mpage/act/selectMyRvwInqireForm"/>" class="btn-ordr-sttus btn outline sm full">리뷰작성</a>
<a href="javascript:void(0);" onclick="fn_post_purchs_dcsn_by_ordr('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>');" class="btn-ordr-sttus btn theme sm full">구매확정111</a>
</c:when>
</c:choose>
</div>
--%>
</div>
</div>
<a class="sub-right-content__more" href="/sopmal/mpage/ordr/selectMbrOrdrListInqire">전체보기</a>
</div>
</c:forEach>
</c:when>
<c:otherwise>
<div class="orderList__no-result">
<img src="<c:url value="/pc/images/icon__no-result.png"/>" alt="">
<p class="orderList__no-result-text">주문내역이 없습니다.</p>
</div>
</c:otherwise>
</c:choose>

View File

@@ -12,43 +12,42 @@
<c:forEach var="order" items="${data.resultList}">
<div class="orderList__item">
<div class="orderList__item__inner">
<a href="<c:url value="/sopmal/goods/selectGoodsDtl?sopmalCd=${order.sopmalCd}&goodsInnb=${order.goodsInnb}"/>" class="orderList__image">
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
<img src="<c:out value="${ cdnurl }${order.goodsImageUrl}"/>" onerror="this.src='/pc/images/image_placeholder.png'" alt="<c:out value="${order.goodsNm}"/>">
</a>
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
<img src="<c:out value="${ cdnurl }${order.goodsImageUrl}"/>" onerror="this.src='/pc/images/image_placeholder.png'" alt="<c:out value="${order.goodsNm}"/>">
<div class="orderList__description">
<div class="orderList__description__first">
<div class="orderList__item__top">
<a href="javascript:void(0);" onclick="fn_go_subsvc_dtl('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>');" class="orderList__orderNum"><c:out value="${order.ordrInnb}"/></a>
<span class="orderList__dot">·</span>
<span class="orderList__date"><c:out value="${order.ordrDt}"/> <span class="orderList__dot">·</span> ${order.ordrTyCdNm}</span>
<span class="orderList__date"><c:out value="${order.ordrDt}"/> <span class="orderList__dot">·</span> 구독서비스</span>
</div>
<a href="javascript:void(0);" onclick="fn_go_subsvc_dtl('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>');" class="orderList__productTitle"><c:out value="${order.goodsNm}"/></a>
<%--<span class="orderList__option"><c:out value="${order.optnNm}"/></span>--%>
<span class="cartItem__productOption"><span class="option-badge">옵션</span> <c:out value="${order.optnNm}"/></span>
<c:if test="${not empty order.inputOptnText}">
<span class="orderList__option"><c:out value="${order.inputOptnText}"/></span>
</c:if>
</div>
<div class="orderList__description__second">
<span class="orderList__price"><span class="comma"><fmt:formatNumber value="${order.setleAmt}" pattern="#,###"/></span>${curUnit}</span>
</div>
<div class="orderList__description__third">
<c:if test = "${!(order.ordrSttusCd > 84 && order.ordrSttusCd < 100)}">
<span class="orderList__mileage"><span class="comma">예상적립 <fmt:formatNumber value="${order.mlgAmt}" pattern="#,###"/></span>점</span>
</c:if>
</div>
<div class="orderList__description__fourth">
<c:choose>
<c:when test="${order.ordrSttusCd > 14 && order.ordrSttusCd < 36}">
<span class="orderList__status"><c:out value="${order.ordrSttusNm}"/></span>
</c:when>
<c:when test="${order.ordrSttusCd > 39 && order.ordrSttusCd < 71}">
<span class="orderList__status delivery"><c:out value="${order.ordrSttusNm}"/></span>
</c:when>
<c:when test="${order.ordrSttusCd == 75}">
<span class="orderList__status complete"><c:out value="${order.ordrSttusNm}"/></span>
<%--구독취소가 아닌경우--%>
<c:when test="${order.refundSttusNm == null || order.refundSttusNm == ''}">
<c:choose>
<c:when test="${order.ordrSttusCd > 14 && order.ordrSttusCd < 36}">
<span class="orderList__status"><c:out value="${order.ordrSttusNm}"/></span>
</c:when>
<c:when test="${order.ordrSttusCd > 39 && order.ordrSttusCd < 71}">
<span class="orderList__status delivery"><c:out value="${order.ordrSttusNm}"/></span>
</c:when>
<c:when test="${order.ordrSttusCd == 75}">
<span class="orderList__status complete"><c:out value="${order.ordrSttusNm}"/></span>
</c:when>
<c:when test="${order.ordrSttusCd >= 85}">
<span class="orderList__status cancel"><c:out value="${order.ordrSttusNm}"/></span>
</c:when>
</c:choose>
</c:when>
<c:otherwise>
<span class="orderList__status cancel"><c:out value="${order.refundSttusNm}"/></span>
</c:otherwise>
</c:choose>
<c:if test="${ order.ordrTyCd == '04'}">
<br/>
@@ -68,43 +67,6 @@
</c:choose>
</c:if>
</div>
<%-- <div class="orderList__btnControls">--%>
<%-- <c:choose>--%>
<%-- <c:when test="${order.ordrSttusCd == 15}">--%>
<%-- <a href="javascript:void(0);" onclick="fn_post_cancl_ordr('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>', '<c:out value="${order.ordrSttusCd}"/>');" class="btn-ordr-sttus btn gray sm full">주문취소</a>--%>
<%-- <c:if test="${ order.ordrTyCd != '05' }">--%>
<%-- <a href="javascript:void(0);" onclick="fn_dlvylc_manage_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>', '<c:out value="${order.ordrDlvyInnb}"/>', '<c:out value="${order.mbrInnb}"/>', '<c:out value="${order.mbrDvCd}"/>');" class="btn-ordr-sttus btn outline sm full">배송지 변경</a>--%>
<%-- </c:if>--%>
<%-- </c:when>--%>
<%-- <c:when test="${order.ordrSttusCd > 24 && order.ordrSttusCd < 34}">--%>
<%-- <a href="javascript:void(0);" onclick="fn_call_setle_cancl_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>', '', '<c:out value="${order.ordrRceptDt}"/>', '<c:out value="${order.ordrSttusCd}"/>');" class="btn-ordr-sttus btn gray sm full">결제취소</a>--%>
<%-- <c:if test="${ order.ordrTyCd != '05' }">--%>
<%-- <a href="javascript:void(0);" onclick="fn_dlvylc_manage_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>', '<c:out value="${order.ordrDlvyInnb}"/>', '<c:out value="${order.mbrInnb}"/>', '<c:out value="${order.mbrDvCd}"/>');" class="btn-ordr-sttus btn outline sm full">배송지 변경</a>--%>
<%-- </c:if>--%>
<%-- </c:when>--%>
<%-- <c:when test="${order.ordrSttusCd > 34 && order.ordrSttusCd < 55}">--%>
<%-- <a href="javascript:void(0);" onclick="fn_call_dlvy_sweettracker_pop('<c:out value="${order.ordrInnb}"/>');" class="btn outline sm full">배송조회</a>--%>
<%-- <a href="javascript:void(0);" onclick="fn_call_setle_cancl_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>', '', '<c:out value="${order.ordrRceptDt}"/>', '<c:out value="${order.ordrSttusCd}"/>');" class="btn-ordr-sttus btn gray sm full">결제취소</a>--%>
<%-- </c:when>--%>
<%-- <c:when test="${order.ordrSttusCd > 54 && order.ordrSttusCd < 76 && order.sknEnvrnCd ne 'POS'}">--%>
<%-- <a href="javascript:void(0);" onclick="fn_call_dlvy_sweettracker_pop('<c:out value="${order.ordrInnb}"/>');" class="btn outline sm full">배송조회</a>--%>
<%-- <c:if test="${ order.purchsDcsnAt eq 'Y' }">--%>
<%--&lt;%&ndash; <a href="javascript:void(0);" onclick="fn_call_refund_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>','<c:out value="${order.ordrRceptDt}"/>', '<c:out value="${order.setleTyCd}"/>', '<c:out value="${order.ordrSttusCd}"/>');" class="btn-ordr-sttus btn gray sm full">반품신청</a>&ndash;%&gt;--%>
<%-- <a href="javascript:void(0);" onclick="fn_pop_m2mqna_regist('<c:out value="${order.ordrInnb}"/>');" class="btn-ordr-sttus btn gray sm full">반품신청</a>--%>
<%-- </c:if>--%>
<%-- <c:if test="${ order.reviewAt eq 'Y' }">--%>
<%-- <a href="<c:url value="/sopmal/mpage/act/selectMyRvwInqireForm"/>" class="btn-ordr-sttus btn theme sm full">리뷰작성</a>--%>
<%-- </c:if>--%>
<%-- <c:if test="${ order.purchsDcsnAt eq 'Y' }">--%>
<%-- <a href="javascript:void(0);" onclick="fn_post_purchs_dcsn_by_ordr('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>');" class="btn-ordr-sttus btn theme sm full">구매확정</a>--%>
<%-- </c:if>--%>
<%-- </c:when>--%>
<%-- <c:when test="${order.ordrSttusCd > 84 && order.ordrSttusCd < 100}">--%>
<%-- <a class="btn full orderList__status cancel" style="background-color:transparent;"><c:out value="${order.ordrSttusNm}"/></a>--%>
<%-- </c:when>--%>
<%-- </c:choose>--%>
<%-- </div>--%>
</div>
</div>
</div>

View File

@@ -15,6 +15,7 @@
------- -------- ---------------------------
2026-01-22 전준석 최초 생성
2026-02-05 이대환 내용 수정
2026-02-26 jazz 내용 수정
--%>
<!DOCTYPE html>
<html lang="ko">
@@ -556,9 +557,9 @@
$('#pageDiv').html(html);
},
error:function (data) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -586,9 +587,9 @@
}
},
error:function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -618,9 +619,9 @@
fn_mpage_info_refresh();
},
error:function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -742,9 +743,9 @@
}
},
error:function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -813,8 +814,8 @@
$('#btnSetleCancl').prop('disabled', false);
},
error:function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
alert(message.errorMsg);
let message = JSON.parse(request.responseText).resBody.result;
alert(message);
$('#btnSetleCancl').prop('disabled', false);
}
}).done( function (data) {
@@ -898,8 +899,8 @@
}
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
alert(message.errorMsg);
let message = JSON.parse(request.responseText).resBody.result;
alert(message);
$('#btnReturnRegist').prop('disabled', false);
}
});
@@ -1046,7 +1047,7 @@
</div>
<div class="sub-right-content__section">
<h3 class="sub-right-content__title">구독서비스 주문/배송조회</h3>
<h3 class="sub-right-content__title">구독서비스 진행 현황</h3>
<form id="condForm">
<input type="hidden" name="pageIndex" id="pageIndex" value="1">
<div class="customer-search">

View File

@@ -7,6 +7,7 @@
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
<spring:eval expression="@environment.getProperty('currency-unit.KR')" var="krUnit"/>
<%--
Class Name : OrdrDtlR.jsp
Description : 구독서비스 주문/배송 상세조회
@@ -55,8 +56,8 @@
}
});
/* 주문/배송 목록 화면 이동 버튼 선택 이벤트 */
$('#btnOrdrList').on('click', function() {
/* 구독서비스 주문/배송 목록 화면 이동 버튼 선택 이벤트 */
$('#btnSubsvcOrdrList').on('click', function() {
const params = ${paramVO};
const keys = Object.keys(params);
@@ -64,7 +65,7 @@
newForm.attr('name', 'newForm');
newForm.attr('method', 'post');
newForm.attr('action', '<c:url value="/sopmal/mpage/ordr/selectMbrOrdrListInqire"/>');
newForm.attr('action', '<c:url value="/sopmal/mpage/ordr/selectMbrSubsvcOrdrListInqireRForm"/>');
for (let i=0; i<keys.length; i++) {
const key = keys[i];
@@ -576,6 +577,7 @@
dlvylc['recpntNm'] = data.recpntNm;
dlvylc['recpntMbtlnb'] = data.mbtlnb;
dlvylc['dlvylcAreaCd'] = data.dlvylcAreaCd;
dlvylc['dlvylcZip'] = data.postcode;
dlvylc['dlvylcAdresDvCd'] = data.addressType;
dlvylc['dlvylcLnbAdres'] = data.jibunAddress;
@@ -589,16 +591,20 @@
data:JSON.stringify(dlvylc),
dataType:'json',
success:function(data) {
if (data.resBody != null) {
alert('<spring:message code="success.common.update"/>');
location.reload();
let result = JSON.parse(data.resBody.result);
if (result != null) {
if(result.status == 0) {
alert('<spring:message code="success.common.update"/>');
location.reload();
} else {
alert(result.message);
}
}
},
error:function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -625,9 +631,9 @@
}
},
error:function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -701,9 +707,9 @@
$("#btnSetleCancl").prop("disabled",true);
},
error:function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
$("#btnSetleCancl").prop("disabled",true);
}
}).done( function (data) {
@@ -754,9 +760,9 @@
location.reload();
},
error:function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -820,9 +826,9 @@
$("#btnReturnRegist").prop("disabled",false);
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
$("#btnReturnRegist").prop("disabled",false);
}
});
@@ -1126,6 +1132,359 @@
<c:set var="setle" value="${data.setleList[0]}" />
<c:set var="setleTyCd" value="${setle.setleTyCd}" />
</c:if>
<%--환불 내역 시작--%>
<c:if test="${order.orderReInnb != null && order.orderReInnb ne ''}">
<div class="sub-right-content__section">
<h3 class="sub-right-content__title"><c:if test = "${not empty resultMap.result.refnd.returnProcsSttusCd}">반품/</c:if>환불 내역</h3>
<div class="sub-right-content__section">
<h3 class="orderDetail__title"><c:out value="${ resultMap.result.refnd.registDt }"/>
<span class="orderDetail__titleNum">
<c:choose>
<c:when test = "${not empty resultMap.result.refnd.returnProcsSttusCd}">
반품번호
</c:when>
<c:otherwise>
환불번호
</c:otherwise>
</c:choose>
<c:out value="${ resultMap.result.refnd.orderRefundInnb }"/>
</span>
</h3>
</div>
</div>
<div class="sub-right-content__section">
<h3 class="sub-right-content__innerTitle"><c:if test = "${not empty resultMap.result.refnd.returnProcsSttusCd}">반품/</c:if>환불 처리</h3>
<div class="table-wrapper orderDetail__table">
<table class="table">
<caption>해당 테이블에 대한 설명</caption>
<!-- 각 열 width 설정 -->
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th><c:if test = "${not empty resultMap.result.refnd.returnProcsSttusCd}">반품/</c:if>환불 상태</th>
<td>
<c:choose>
<c:when test="${ not empty resultMap.result.refnd.returnProcsSttusCd }">
<c:out value="${ resultMap.result.refnd.returnProcsSttusCdNm }"/>
</c:when>
<c:otherwise>
<c:out value="${ resultMap.result.refnd.refundProcsSttusCdNm }"/>
</c:otherwise>
</c:choose>
</td>
</tr>
<tr>
<th><c:if test = "${not empty resultMap.result.refnd.returnProcsSttusCd}">반품/</c:if>환불 번호</th>
<td><c:out value="${ resultMap.result.refnd.orderRefundInnb }"/></td>
</tr>
<tr>
<th>환불 종류</th>
<td><c:out value="${ resultMap.result.refnd.refundTyCdNm }"/></td>
</tr>
<c:if test = "${not empty resultMap.result.refnd.returnProcsSttusCd}">
<tr>
<th>반품 접수일</th>
<td><c:out value="${ resultMap.result.refnd.returnRceptDt }"/></td>
</tr>
</c:if>
<tr>
<th>환불 접수일</th>
<td><c:out value="${ resultMap.result.refnd.refundReqstDt }"/></td>
</tr>
<c:if test = "${not empty resultMap.result.refnd.returnComptDt}">
<tr>
<th>반품 완료일</th>
<td><c:out value="${ resultMap.result.refnd.returnComptDt }"/></td>
</tr>
</c:if>
<c:if test = "${not empty resultMap.result.refnd.refundComptDt}">
<tr>
<th>환불 완료일</th>
<td><c:out value="${ resultMap.result.refnd.refundComptDt }"/></td>
</tr>
</c:if>
</tbody>
</table>
</div>
</div>
<c:if test="${ not empty resultMap.result.refnd.returnRceptDt }">
<div class="sub-right-content__section">
<h3 class="sub-right-content__innerTitle">반품정보
</h3>
<form id="returnDlvyUpdtForm">
<input type="hidden" name="orderReInnb" value="<c:out value="${ resultMap.result.refnd.orderRefundInnb }"/>"/>
<div id="returnInfoContent01" class="table-wrapper orderDetail__table">
<table class="table">
<caption>해당 테이블에 대한 설명</caption>
<!-- 각 열 width 설정 -->
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th>
<span class="orderDetail__thText">회수방법</span>
</th>
<td>
<c:out value="${ resultMap.result.refnd.returnMthCdNm }"/>
</td>
</tr>
<tr>
<th>
<span class="orderDetail__thText">주소</span>
</th>
<td>
<c:if test="${ not empty resultMap.result.refnd.senderZip }">
(<c:out value="${ resultMap.result.refnd.senderZip }"/>)
</c:if>
<c:choose>
<c:when test="${ resultMap.result.refnd.senderAdresDvCd eq '01'}">
<c:out value="${ resultMap.result.refnd.senderRnmAdres }"/>
</c:when>
<c:when test="${ resultMap.result.refnd.senderAdresDvCd eq '02'}">
<c:out value="${ resultMap.result.refnd.senderLnbAdres }"/>
</c:when>
</c:choose>
<c:out value="${ resultMap.result.refnd.senderAdresDtl }"/>
</td>
</tr>
<tr>
<th>
<span class="orderDetail__thText">휴대폰 번호</span>
</th>
<td>
<c:out value="${ resultMap.result.refnd.returnCstmrMbtlnb }"/>
</td>
</tr>
<tr>
<th>
<span class="orderDetail__thText">반품 사유</span>
</th>
<td>
<c:out value="${ resultMap.result.refnd.returnResnCdNm }"/>
</td>
</tr>
<tr>
<th>
<span class="orderDetail__thText">상세 사유</span>
</th>
<td>
<c:out value="${ resultMap.result.refnd.returnResnCn }"/>
</td>
</tr>
<tr>
<th>
<span class="orderDetail__thText">배송비 입금</span>
</th>
<td>
<%--우리은행 1005-102-768159<br>(예금주: ㈜에스엘바이오텍)--%>
<c:if test="${ not empty resultMap.result.refnd.returnDlvyRcpmnyAcntnb }">
<c:out value="${ resultMap.result.refnd.returnDlvyRcpmnyAcntnb }"/><br>(예금주: <c:out value="${ resultMap.result.refnd.returnDlvyRcpmnyNm }"/>)
</c:if>
</td>
</tr>
</tbody>
</table>
</div>
</form>
</div>
</c:if>
<div class="sub-right-content__section">
<h3 class="sub-right-content__innerTitle">환불정보</h3>
<form id="refundAcntUpdtForm">
<input type="hidden" name="orderReInnb" value="<c:out value="${ resultMap.result.refnd.orderRefundInnb }"/>"/>
<div id="refundInfoContent01" class="table-wrapper orderDetail__table">
<table class="table">
<caption>해당 테이블에 대한 설명</caption>
<!-- 각 열 width 설정 -->
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th>
<span class="orderDetail__thText">환불은행</span>
</th>
<td>
<c:out value="${ resultMap.result.refnd.refundAcntBnnkNm }"/>
</td>
</tr>
<tr>
<th>
<span class="orderDetail__thText">예금주</span>
</th>
<td>
<c:out value="${ resultMap.result.refnd.refundAcntDpstrNm }"/>
</td>
</tr>
<tr>
<th>
<span class="orderDetail__thText">계좌번호</span>
</th>
<td>
<c:out value="${ resultMap.result.refnd.refundAcntnb }"/>
</td>
</tr>
<tr>
<th>
<span class="orderDetail__thText">취소 사유</span>
</th>
<td>
<c:out value="${ resultMap.result.refnd.returnResnCdNm }"/>
</td>
</tr>
<tr>
<th>
<span class="orderDetail__thText">상세 사유</span>
</th>
<td>
<c:out value="${ resultMap.result.refnd.returnResnCn }"/>
</td>
</tr>
</tbody>
</table> </div>
</form>
</div>
<div class="sub-right-content__section">
<h3 class="sub-right-content__innerTitle">
환불 금액
</h3>
<div class="priceSum">
<c:set var="reTotAmt" value="${ resultMap.result.totRefundDscntAmt }"/>
<div class="priceSum__inner">
<div class="priceSum__item">
<span class="priceSum__itemTitle"><c:out value="${ reTotAmt.setleTyCdNm }"/></span>
<span class="priceSum__itemPrice">
<span class="comma priceSum__itemNum"><c:out value="${ reTotAmt.refundAmtQySum }"/></span>
<span class="priceUnit">${curUnit}</span>
</span>
</div>
<div class="priceSum__operator">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
<g clip-path="url(#clip0_160_29539)">
<path
d="M8.99824 7.00176V0H7.00176V7.00176H0V8.99824H7.00176V16H8.99824V8.99824H16V7.00176H8.99824Z"
fill="black" />
</g>
<defs>
<clipPath id="clip0_160_29539">
<rect width="16" height="16" fill="white" />
</clipPath>
</defs>
</svg>
</div>
<div class="priceSum__item priceSum__item--misc">
<span class="priceSum__itemTitle">마일리지</span>
<span class="priceSum__itemPrice">
<span class="comma priceSum__itemNum"><c:out value="${ reTotAmt.totRefundMlgAmt }"/></span>
<span class="priceUnit">점</span>
</span>
</div>
<!-- 마이너스 -->
<!-- <div class="priceSum__operator">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
fill="none">
<path d="M16 7H0V9.00002H16V7Z" fill="black" />
</svg>
</div> -->
<div class="priceSum__operator">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"
viewBox="0 0 16 16" fill="none">
<g clip-path="url(#clip0_160_29539)">
<path
d="M8.99824 7.00176V0H7.00176V7.00176H0V8.99824H7.00176V16H8.99824V8.99824H16V7.00176H8.99824Z"
fill="black" />
</g>
<defs>
<clipPath id="clip0_160_29539">
<rect width="16" height="16" fill="white" />
</clipPath>
</defs>
</svg>
</div>
<div class="priceSum__item priceSum__item--misc">
<span class="priceSum__itemTitle">쿠폰</span>
<span class="priceSum__itemPrice">
<span class="comma priceSum__itemNum"><c:out value="${ reTotAmt.totRefundCouponAmt }"/></span>
<span class="priceUnit">${curUnit}</span>
</span>
</div>
<c:if test="${ reTotAmt.rlDlvyAmtRefundAmt > 0}">
<div class="priceSum__operator">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
fill="none">
<path d="M16 7H0V9.00002H16V7Z" fill="black" />
</svg>
</div>
<div class="priceSum__item priceSum__item--misc">
<span class="priceSum__itemTitle">반품배송비</span>
<span class="priceSum__itemPrice">
<span class="comma priceSum__itemNum"><c:out value="${ reTotAmt.rlDlvyAmtRefundAmt }"/></span>
<span class="priceUnit">${curUnit}</span>
</span>
</div>
</c:if>
<c:if test="${ reTotAmt.totReturnDlvyAmt > 0}">
<div class="priceSum__operator">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"
viewBox="0 0 16 16" fill="none">
<g clip-path="url(#clip0_160_29539)">
<path
d="M8.99824 7.00176V0H7.00176V7.00176H0V8.99824H7.00176V16H8.99824V8.99824H16V7.00176H8.99824Z"
fill="black" />
</g>
<defs>
<clipPath id="clip0_160_29539">
<rect width="16" height="16" fill="white" />
</clipPath>
</defs>
</svg>
</div>
<div class="priceSum__item priceSum__item--misc">
<span class="priceSum__itemTitle">환불배송비</span>
<span class="priceSum__itemPrice">
<span class="comma priceSum__itemNum"><c:out value="${ reTotAmt.totReturnDlvyAmt }"/></span>
<span class="priceUnit">${curUnit}</span>
</span>
</div>
</c:if>
<div class="priceSum__equals">
<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28"
viewBox="0 0 28 28" fill="none">
<path d="M3.5 17.5H24.5V19.8333H3.5V17.5Z" fill="black" />
<path d="M3.5 8.16699H24.5V10.5003H3.5V8.16699Z" fill="black" />
</svg>
</div>
<div class="priceSum__item priceSum__item--misc" style="align-items: unset;">
<div class="priceSum__total">
<span class="priceSum__totalTitle">총 환불금액</span>
<div class="priceSum__itemPrice">
<span class="comma"><c:out value="${ reTotAmt.rlRefundAmt }"/></span>
<span class="priceUnit">${curUnit}</span>
</div>
</div>
<div class="priceSum__total">
<span class="priceSum__totalTitle">실 환불금액</span>
<div class="priceSum__totalPrice">
<span class="comma"><c:out value="${ reTotAmt.rlRefundAmt }"/></span>
<span class="priceUnit">${curUnit}</span>
</div>
<span class="priceSum__itemPrice">
[<span class="comma"><c:out value="${ reTotAmt.realWonRefundAmt }"/></span>
<span class="priceUnit">${krUnit}</span>]
</span>
</div>
</div>
</div>
</div>
</div>
</c:if>
<%--환불 내역 종료--%>
<div class="sub-right-content__section">
<h3 class="sub-right-content__title">구독서비스 주문상세내역</h3>
@@ -1135,7 +1494,7 @@
<c:when test="${order.ordrSttusCd == 25}">
<a href="javascript:void(0);" onclick="fn_call_setle_cancl_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>', '', '<c:out value="${setleDt}"/>', '<c:out value="${setleTyCd}"/>', '<c:out value="${order.ordrSttusCd}"/>');" class="btn gray2">전체 결제취소</a>
</c:when>
<c:when test="${order.ordrSttusCd > 34 && order.ordrSttusCd < 71}">
<c:when test="${(order.orderReInnb == null || order.orderReInnb eq '') && order.ordrSttusCd > 34 && order.ordrSttusCd < 71}">
<a href="javascript:void(0);" onclick="fn_pop_m2mqna_regist('<c:out value="${order.ordrInnb}"/>');" class="btn gray2">구독취소</a>
</c:when>
</c:choose>
@@ -1212,7 +1571,7 @@
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 12%;">
<col style="width: 10%;">
<%-- <col style="width: 10%;">--%>
<col style="width: 10%;">
</colgroup>
<thead>
@@ -1222,7 +1581,7 @@
<th>상품금액</th>
<th>할인금액</th>
<th>할인적용금액</th>
<th>적립금</th>
<%-- <th>적립금</th>--%>
<th>처리상태</th>
</tr>
</thead>
@@ -1264,12 +1623,12 @@
<span class="priceUnit">${curUnit}</span>
</span>
</td>
<td>
<%--<td>
<span class="cartItem__mileage">
<span class=" comma"><fmt:formatNumber value="${goods.mlgAmt}" pattern="#,###"/></span>
<span class="priceUnit">점</span>
</span>
</td>
</td>--%>
<td>
<a class="orderList__status">
<c:choose>
@@ -1367,8 +1726,9 @@
</tr>
</tbody>
</table>
<p class="textInfo"><i class="icon icon_textInfo--sm"></i>개인정보 보호법에 의하여 6개월이 지난 주문의 개인정보는 삭제처리됩니다.</p><br>
<p class="textInfo"><i class="icon icon_textInfo--sm"></i>주문자 정보로 주문 관련 정보가 문자와 이메일로 발송됩니다.</p>
<%-- <p class="textInfo"><i class="icon icon_textInfo--sm"></i>개인정보 보호법에 의하여 6개월이 지난 주문의 개인정보는 삭제처리됩니다.</p><br>--%>
<%-- <p class="textInfo"><i class="icon icon_textInfo--sm"></i>주문자 정보로 주문 관련 정보가 문자와 이메일로 발송됩니다.</p>--%>
<p class="textInfo"><i class="icon icon_textInfo--sm"></i>주문자 정보로 주문 관련 정보가 이메일로 발송됩니다.</p>
</div>
</div>
@@ -1406,7 +1766,7 @@
</c:if>
<tr>
<th>결제금액</th>
<td><span class="comma"><fmt:formatNumber value="${setle.setleAmt}" pattern="#,###"/></span>${curUnit}</td>
<td><span class="comma"><fmt:formatNumber value="${setle.setleAmt}" pattern="#,###"/></span>${curUnit} / <span class="comma">${setle.wonSetleAmt}</span>${krUnit}</td>
</tr>
<c:if test = "${order.ordrSttusCd ne '85' && order.ordrSttusCd ne '95'}"><%--주문취소시 미노출--%>
<tr>
@@ -1427,45 +1787,6 @@
</td>
</tr>
</c:if>
<c:if test="${setle.reqstDvCd ne '04'}">
<c:if test="${not empty setle.issuSttusCd && order.ordrSttusCd ne '85' && order.ordrSttusCd ne '95'}">
<tr>
<th>현금영수증</th>
<td>
<c:choose>
<c:when test="${order.salesPosbleRegistAt eq 'N'}">
<span class="orderDetail__waiting"><c:out value="${setle.crtnb eq '0100001234' ? '미신청' : setle.crtnb}"/></span>
<button type="button" class="btn xsm gray2" onclick="fn_regist_popopen('<c:out value="${setle.selngPrufInnb}"/>','update');">정보수정</button>
</c:when>
<c:when test="${order.salesPosbleRegistAt eq 'Y' && setle.crtnb eq '0100001234'}">
<span class="orderDetail__waiting">미신청</span>
<button type="button" class="btn xsm gray2" onclick="fn_regist_popopen('<c:out value="${setle.selngPrufInnb}"/>','regist');">신청하기</button>
</c:when>
<c:otherwise>
<span class="orderDetail__waiting" id='ctrnb'><script>$("#ctrnb").text('${setle.issuSttusNm} ('+fn_format_mbtlnb('${setle.crtnb}')+')');</script></span>
<span class="orderDetail__deduction"><c:out value="${setle.issuTrgetDvCd eq '01' ? '개인소득공제' : '사업자지출증빙'}"/></span>
<c:if test="${ !empty setle.cshRciptDelngNb }">
<%-- 현:현금영수증 --%>
<button type="button" class="btn xsm gray2" onclick="fn_open_selng_pruf_inqire_modal(
'<c:out value="${ setle.sopmalCd }" />'
,'<c:out value="${ setle.pgInnb }" />'
,'<c:out value="${ setle.pgCmpnyNm }" />'
,'<c:out value="${ setle.cshRciptDelngNb }" />'
,'<c:out value="${ setle.reqstDvCd }" />'
,'<c:out value="${ setle.setleTyCd }" />'
,'<c:out value="${ setle.ordrSetleInnb }" />'
,'<c:out value="${ setle.ordrInnb }" />'
,'<c:out value="${ setle.mid }" />'
,'<fmt:parseNumber value="${ setle.setleAmt }"/>'); return false;">
보기
</button>
</c:if>
</c:otherwise>
</c:choose>
</td>
</tr>
</c:if>
</c:if>
</tbody>
</table>
</c:forEach>
@@ -1477,44 +1798,6 @@
</div>
</c:otherwise>
</c:choose>
<c:set var="total" value="${data.total}"/>
<div class="orderDetail__orderPrice">
<ul class="cartOrderBox__list">
<li>
<span class="cartOrderBox__th">총 주문금액</span>
<span class="cartOrderBox__td"><span class="comma"><fmt:formatNumber value="${total.slepric}" pattern="#,###"/></span><span class="priceUnit">${curUnit}</span></span>
</li>
<li>
<span class="cartOrderBox__th">할인금액</span>
<span class="cartOrderBox__td"><span class="cartOrderBox__discountMinus">(-)</span><span class="comma"><fmt:formatNumber value="${total.dscntAmt}" pattern="#,###"/></span><span class="priceUnit">${curUnit}</span></span>
</li>
<c:forEach var="dscnt" items="${data.dscntList}" varStatus="status">
<c:if test="${'03' != dscnt.dscntDvCd}">
<li class="cartOrderBox__miscItem ${1 == status.count ? 'first' : ''}">
<span class="cartOrderBox__miscTh"><c:out value="${dscnt.dscntDvNm}"/></span>
<span class="cartOrderBox__miscTd"><span class="comma"><fmt:formatNumber value="${dscnt.dscntAmt}" pattern="#,###"/></span><span class="priceUnit">${curUnit}</span></span>
</li>
</c:if>
</c:forEach>
<li>
<span class="cartOrderBox__th">배송비</span>
<span class="cartOrderBox__td"><span class="comma"><fmt:formatNumber value="${total.dlvyAmt}" pattern="#,###"/></span><span class="priceUnit">${curUnit}</span></span>
</li>
<c:forEach var="dscnt" items="${data.dscntList}" varStatus="status">
<c:if test="${'03' == dscnt.dscntDvCd}">
<li class="cartOrderBox__miscItem ${1 == status.count ? 'first' : ''}">
<span class="cartOrderBox__miscTh"><c:out value="${dscnt.dscntDvNm}"/></span>
<span class="cartOrderBox__miscTd"><span class="comma"><fmt:formatNumber value="${dscnt.dscntAmt}" pattern="#,###"/></span><span class="priceUnit">${curUnit}</span></span>
</li>
</c:if>
</c:forEach>
</ul>
<div class="cartOrderBox__total">
<span class="cartOrderBox__totalTh">결제금액</span>
<span class="cartOrderBox__totalTd"><span class="comma"><fmt:formatNumber value="${total.setleAmt}" pattern="#,###"/></span><span class="priceUnit">${curUnit}</span></span>
</div>
</div>
</div>
</div>
@@ -1526,64 +1809,64 @@
</c:forEach>
<%-- <c:if test="${not empty data.refundList }">--%>
<c:if test="${showSection}">
<div class="sub-right-content__section">
<h3 class="sub-right-content__title">무효/취소/반품 내역</h3>
<div class="sub-right-content__section">
<div class="table-wrapper">
<table class="table vertical">
<caption>구독서비스 주문상세내역</caption>
<colgroup>
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 12%;">
<col style="width: 12%;">
<col style="width: 12%;">
</colgroup>
<thead>
<tr>
<th>무효/취소/반품</th>
<th>접수일시</th>
<th>처리일시</th>
<th>처리수량</th>
<th>처리금액</th>
<th>처리상태</th>
<th>보기</th>
</tr>
</thead>
<tbody>
<c:forEach var="refund" items="${data.refundList}">
<c:if test="${ refund.useAt eq 'Y' }">
<tr>
<td> <c:out value="${refund.refundTyNm}"/></td>
<td><c:out value="${refund.refundReqstDt}"/></td>
<td><c:out value="${refund.refundComptDt}"/></td>
<td><fmt:formatNumber value="${refund.refundQy}" pattern="#,###"/></td>
<td><fmt:formatNumber value="${refund.refundAmt}" pattern="#,###"/></td>
<td>
<c:out value="${refund.refundProcsSttusNm }"/>
</td>
<td>
<c:if test = "${order.ordrSttusCd ne '95'}">
<button type="button" class="btn sm outline"
onclick="fn_move_dtlupdt('<c:out value="${refund.orderRefundInnb}"/>','<c:out value="${refund.ordrInnb}"/>');">
상세보기
</button>
</c:if>
</td>
</tr>
</c:if>
</c:forEach>
</tbody>
</table>
</div>
</div>
</div>
</c:if>
<%-- <c:if test="${showSection}">--%>
<%-- <div class="sub-right-content__section">--%>
<%-- <h3 class="sub-right-content__title">무효/취소/반품 내역</h3>--%>
<%-- <div class="sub-right-content__section">--%>
<%-- <div class="table-wrapper">--%>
<%-- <table class="table vertical">--%>
<%-- <caption>구독서비스 주문상세내역</caption>--%>
<%-- <colgroup>--%>
<%-- <col style="width: auto;">--%>
<%-- <col style="width: 20%;">--%>
<%-- <col style="width: 20%;">--%>
<%-- <col style="width: 12%;">--%>
<%-- <col style="width: 12%;">--%>
<%-- <col style="width: 12%;">--%>
<%-- </colgroup>--%>
<%-- <thead>--%>
<%-- <tr>--%>
<%-- <th>무효/취소/반품</th>--%>
<%-- <th>접수일시</th>--%>
<%-- <th>처리일시</th>--%>
<%-- <th>처리수량</th>--%>
<%-- <th>처리금액</th>--%>
<%-- <th>처리상태</th>--%>
<%-- <th>보기</th>--%>
<%-- </tr>--%>
<%-- </thead>--%>
<%-- <tbody>--%>
<%-- <c:forEach var="refund" items="${data.refundList}">--%>
<%-- <c:if test="${ refund.useAt eq 'Y' }">--%>
<%-- <tr>--%>
<%-- <td> <c:out value="${refund.refundTyNm}"/></td>--%>
<%-- <td><c:out value="${refund.refundReqstDt}"/></td>--%>
<%-- <td><c:out value="${refund.refundComptDt}"/></td>--%>
<%-- <td><fmt:formatNumber value="${refund.refundQy}" pattern="#,###"/></td>--%>
<%-- <td><fmt:formatNumber value="${refund.refundAmt}" pattern="#,###"/></td>--%>
<%-- <td>--%>
<%-- <c:out value="${refund.refundProcsSttusNm }"/>--%>
<%-- </td>--%>
<%-- <td>--%>
<%-- <c:if test = "${order.ordrSttusCd ne '95'}">--%>
<%-- <button type="button" class="btn sm outline"--%>
<%-- onclick="fn_move_dtlupdt('<c:out value="${refund.orderRefundInnb}"/>','<c:out value="${refund.ordrInnb}"/>');">--%>
<%-- 상세보기--%>
<%-- </button>--%>
<%-- </c:if>--%>
<%-- </td>--%>
<%-- </tr>--%>
<%-- </c:if>--%>
<%-- </c:forEach>--%>
<%-- </tbody>--%>
<%-- </table>--%>
<%-- </div>--%>
<%-- </div>--%>
<%-- </div>--%>
<%-- </c:if>--%>
<div class="sub-bottom-btn-container">
<a href="javascript:void(0);" id="btnOrdrList" class="btn xl outline theme">주문 목록</a>
<a href="javascript:void(0);" id="btnSubsvcOrdrList" class="btn xl outline theme">주문 목록</a>
</div>
</div>
</div>

View File

@@ -6,7 +6,7 @@
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
<spring:eval expression="@environment.getProperty('currency-unit.KR')" var="krUnit"/>
<%--
Class Name : MbrPurchsC.jsp
Description : 회원 구매하기
@@ -705,6 +705,10 @@
$('#recpntMbtlnb').val($('#mbtlnb').val());
$('.recpntMbtlnb_ordrInfo_text').text($('#mbtlnb').val());
$('#cstmclerCd').val($('#cstmclerCd').val());
$('.cstmclerCd_ordrInfo_text').text($('#cstmclerCd').val());
} else {
let data = {
@@ -723,6 +727,8 @@
$('.recpntNm_ordrInfo_text').text($('#recpntNm').val());
$('#recpntMbtlnb').val(parseJson.dftDlvylc.mbtlnb);
$('.recpntMbtlnb_ordrInfo_text').text($('#recpntMbtlnb').val());
$('#cstmclerCd').val(parseJson.dftDlvylc.cstmclerCd);
$('.cstmclerCd_ordrInfo_text').text($('#cstmclerCd').val());
}
});
@@ -1500,6 +1506,12 @@
html += ' <input type="text" name="recpntMbtlnb" oninput="fn_set_event(this, \'keyup\', fn_fmt_telno)" maxlength="13" class="new rqrd input-text number" title="휴대폰번호" placeholder="휴대폰번호 입력 (’-’ 없이)">';
html += ' </td>';
html += ' </tr>';
html += ' <tr class="">';
html += ' <th> <span class="orderInfo__title">개인통관번호</span></th>';
html += ' <td>';
html += ' <input type="text" name="cstmclerCd" maxlength="13" class="m-input" title="개인통관번호" placeholder="P로 시작하는 13자리 부호를 입력하세요">';
html += ' </td>';
html += ' </tr>';
html += ' <!-- 신규 배송지 선택 시 End -->';
html += ' <tr>';
html += ' <th><span class="orderInfo__title">배송요청사항</span></th>';
@@ -1763,6 +1775,8 @@
$('.presentArea').hide();
$('.presentArea').find('input').prop('disabled', true);
$('.cstmclerArea').hide();
$('.cstmclerArea').find('input').prop('disabled', true);
$('.presentShowArea').show();
$('.presentShowArea').find('input').prop('disabled', false);
@@ -1783,6 +1797,8 @@
if (dlvylcDvCd === 'New') {
$('.presentArea').show();
$('.presentArea').find('input').prop('disabled', false);
$('.cstmclerArea').show();
$('.cstmclerArea').find('input').prop('disabled', false);
$('.presentShowArea').hide();
$('.presentShowArea').find('input').prop('disabled', true);
}
@@ -1833,24 +1849,16 @@
$(form).find('input[name="dlvylcAdresDtl"]').val(data.dtlAdres);
$(form).find('input[name="dlvylcAdres"]').val('01' === $(form).find('input[name="dlvylcAdresDvCd"]').val() ? $(form).find('input[name="dlvylcRnmAdres"]').val() : $(form).find('input[name="dlvylcLnbAdres"]').val());
// localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd);
// localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd);
// localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd);
// localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd);
// localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd);
// localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd);
// localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd);
//
//
// setle['sopmalCd'] = $('#sopmalCd').val();
// setle['dlvylc'] = JSON.parse(localStorage.getItem('dlvylc'));
// setle['goodsList'] = JSON.parse(localStorage.getItem('goodsList'));
// setle['enuri'] = JSON.parse(localStorage.getItem('enuri'));
// setle['dlvylcZip'] = localStorage.getItem('dlvylcZip');
// setle['dlvylcAreaCd'] = localStorage.getItem('dlvylcAreaCd');
// setle['prefcd'] = localStorage.getItem('prefcd');
// setle['multiOrdrDlvylc'] = JSON.parse(localStorage.getItem('multiOrdrDlvylc'));
// setle['ordrTyCd'] = $('input[name="ordrTy"]:checked').val();
let dlvylcAreaCd = $(form).find('input[name="dlvylcAreaCd"]').val();
if('JP' === dlvylcAreaCd){
$('.cstmclerArea').hide();
$('.cstmclerArea').find('input').prop('disabled', true);
} else {
$('.cstmclerArea').show();
$('.cstmclerArea').find('input').prop('disabled', false);
}
// 배송지 정보 세팅 이후 결제예정금액 재계산
fn_get_setle_amt();
@@ -2564,6 +2572,7 @@
$('#accmlMlgAmtSapn').text((data.accmlMlgAmt).toLocaleString());
$('#setleAmtSapn').text((data.setleAmt).toLocaleString());
$('#setleAmtKrSapn').text((data.setleAmtKr).toLocaleString());
let li = '';
@@ -2646,6 +2655,7 @@
$('#enuriForm').find('#stdrGoodsSetleAmt').val(data.stdrGoodsSetleAmt);
$('#enuriForm').find('#cartCoupondlvyAmt').val(data.dlvyAmt);
$('#setleForm').find('#rlSetleAmt').val(data.setleAmt);
$('#setleForm').find('#wonRlSetleAmt').val(data.setleAmtKr);
}
if (!fn_is_empty(data.lmttUseMlg)) {
@@ -2720,15 +2730,43 @@
/* 선물하기 > 정합성 검사 종료 */
} else {
// console.log("dlvylcDvCd : ",dlvylcDvCd);
if ('New' === dlvylcDvCd) {
const dlvylcAreaCd2 = $('#dlvylcForm').find('input[name="dlvylcAreaCd"]').val();
console.log("dlvylcAreaCd(new) : ",dlvylcAreaCd2);
$('#dlvylcForm').find('.rqrd').each(function () {
const val = $(this).val();
if (fn_is_empty(val)) {
const name = $(this).attr('name');
const title = $(this).attr('title');
alert(title + '을 입력해 주십시요');
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('개인통관번호를 입력해 주십시요');
$('#dlvylcForm').find('input[name="' + name + '"]').focus();
@@ -2736,7 +2774,7 @@
return false;
}
});
}
}
}
@@ -2760,6 +2798,9 @@
order['dlvylcAreaCd'] = localStorage.getItem('dlvylcAreaCd');
order['prefcd'] = localStorage.getItem('prefcd');
// order['subsvcInnb'] = 0;
// order['subsvcAt'] = 'N';
/* 여러곳 배송 > 배송지별 정합성 검사 시작 */
if (ordrTyCd === '05') { // 여러곳 배송
@@ -3250,16 +3291,18 @@
useMlgAmt = parseFloat(parsedUseMlg.useMlgAmt);
}
}
let goodsList = localStorage.getItem('goodsList');
let parsedGoodsList = JSON.parse(goodsList);
let goodsDscntDtlsList = parsedGoodsList[0].goodsDscntDtlsList;
let parsedGoodsList = fn_is_empty(goodsList) ? '' : JSON.parse(goodsList);
let goodsDscntDtlsList = fn_is_empty(parsedGoodsList) ? '' : parsedGoodsList[0].goodsDscntDtlsList;
let totalDscntAmt = 0;
goodsDscntDtlsList.forEach(item => {
totalDscntAmt += item.dscntAmt;
});
if(!fn_is_empty(goodsDscntDtlsList)){
goodsDscntDtlsList.forEach(item => {
totalDscntAmt += item.dscntAmt;
});
}
let goodsDscntAmt = 0;
@@ -3608,6 +3651,28 @@
<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: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: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>
<!-- 기본 배송지 선택 시 End -->
<!-- 신규 배송지 선택 시 Start -->
<tr class="deliveryAddressNew" style="display:none;">
@@ -3640,6 +3705,12 @@
<input type="text" name="recpntMbtlnb" oninput="fn_set_event(this, 'keyup', fn_fmt_telno)" maxlength="13" class="new rqrd input-text number rqrd_gift" title="휴대폰번호" placeholder="휴대폰번호 입력 (’-’ 없이)" readonly>
</td>
</tr>
<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>
</td>
</tr>
<!-- 신규 배송지 선택 시 End -->
<tr class="presentShowArea" style="display:none;">
<th> <span class="orderInfo__title">선물메세지</span></th>
@@ -3987,6 +4058,7 @@
<form id="setleForm">
<input type="hidden" name="rlSetleAmt" id="rlSetleAmt" value="">
<input type="hidden" name="wonRlSetleAmt" id="wonRlSetleAmt" value="">
<input type="hidden" name="lmttUseMlg" id="lmttUseMlg" value="">
<input type="hidden" name="lmttUseCashMlg" id="lmttUseCashMlg" value="">
<input type="hidden" name="siteCdMid" id="siteCdMid" value="<c:out value="${payInfo.kcpMid}"/>">
@@ -4359,9 +4431,13 @@
<span class="cartOrderBox__td"><span class="cartOrderBox__discountMinus">(-)</span><span id="dscntAmtSapn" class="comma">0</span><span class="priceUnit">${curUnit}</span></span>
</li>
</ul>
<div class="cartOrderBox__total">
<div class="cartOrderBox__total" style="margin-bottom: 5px;">
<span class="cartOrderBox__totalTh">총 결제금액</span>
<span class="cartOrderBox__totalTd"><span id="setleAmtSapn" class="comma">0</span><span class="priceUnit">${curUnit}</span></span>
<span class="cartOrderBox__td"><span id="setleAmtSapn" class="comma">0</span><span class="priceUnit">${curUnit}</span></span>
</div>
<div class="cartOrderBox__total" style="margin-top: 5px;">
<span class="cartOrderBox__totalTh"></span>
<span class="cartOrderBox__totalTd"><span id="setleAmtKrSapn" class="comma">0</span><span class="priceUnit">${krUnit}</span></span>
</div>
<%--광고 수신 동의 여부가 null 일 시 --%>
<c:if test="${empty purchsr.marktRecptnAgreAt}">

View File

@@ -72,6 +72,7 @@
<jsp:include page="/WEB-INF/views/comm/Header.jsp"/>
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
<spring:eval expression="@environment.getProperty('currency-unit.KR')" var="krUnit"/>
<!-- 메인 컨텐츠 영역 -->
<main>
<c:set var="order" value="${data.order}"/>
@@ -450,7 +451,7 @@
</c:if>
<tr>
<th>결제금액</th>
<td><span class="comma"><fmt:formatNumber value="${setle.setleAmt}" pattern="#,###"/></span>${curUnit}</td>
<td><span class="comma"><fmt:formatNumber value="${setle.setleAmt}" pattern="#,###"/></span>${curUnit} / <span class="comma"><fmt:formatNumber value="${setle.wonSetleAmt}" pattern="#,###"/></span>${krUnit}</td>
</tr>
<tr>
<th>결제일시</th>
@@ -534,7 +535,7 @@
</ul>
<div class="cartOrderBox__total">
<span class="cartOrderBox__totalTh">결제금액</span>
<span class="cartOrderBox__totalTd"><span class="comma"><fmt:formatNumber value="${total.setleAmt}" pattern="#,###"/></span><span class="priceUnit">${curUnit}</span></span>
<span class="cartOrderBox__totalTd"><span class="comma"><fmt:formatNumber value="${total.setleAmt}" pattern="#,###"/></span><span class="priceUnit">${curUnit}</span> / <span class="comma"><fmt:formatNumber value="${total.wonRlSetleAmt}" pattern="#,###"/></span><span class="priceUnit">${krUnit}</span></span>
</div>
</div>
</div>

View File

@@ -91,7 +91,7 @@
function create_goodInfo() {
if(document.order_info.pay_mod.value=='Y') {
var chr31 = String.fromCharCode(31); // ASCII 코드값 31
var good_info = "seq=1" + chr31 + "ordr_numb=0001" + chr31 + "good_name=${data.setle.goodsNm}" + chr31 + "good_cntx=2" + chr31 + "good_amtx=${data.setle.setleAmt}";
var good_info = "seq=1" + chr31 + "ordr_numb=0001" + chr31 + "good_name=${data.setle.goodsNm}" + chr31 + "good_cntx=2" + chr31 + "good_amtx=${data.setle.wonSetleAmt}";
document.order_info.good_info.value = good_info;
}
}
@@ -170,7 +170,7 @@
<!-- 주문정보 -->
<input type="hidden" name="ordr_idxx" value="${data.ordr.ordrInnb}"/> <!-- 상점 관리 주문번호 -->
<input type="hidden" name="good_name" value="${data.setle.goodsNm}"/> <!-- 상품명 -->
<input type="hidden" name="good_mny" value="${data.setle.setleAmt}"/> <!-- 결제 금액 -->
<input type="hidden" name="good_mny" value="${data.setle.wonSetleAmt}"/> <!-- 결제 금액 -->
<input type="hidden" name="buyr_name" value="${data.ordr.ordrrNm}"/> <!-- 주문자 이름 -->
<input type="hidden" name="buyr_tel2" value="${data.ordr.ordrrMbtlnb}"/> <!-- 주문자 휴대폰번호 -->
<input type="hidden" name="buyr_mail" value="${data.ordr.ordrrEmail}"/> <!-- 주문자 이메일 -->

View File

@@ -30,7 +30,7 @@
function create_goodInfo() {
if(document.order_info.pay_mod.value=='Y') {
var chr31 = String.fromCharCode(31); // ASCII 코드값 31
var good_info = "seq=1" + chr31 + "ordr_numb=0001" + chr31 + "good_name=${data.setle.goodsNm}" + chr31 + "good_cntx=2" + chr31 + "good_amtx=${data.setle.setleAmt}";
var good_info = "seq=1" + chr31 + "ordr_numb=0001" + chr31 + "good_name=${data.setle.goodsNm}" + chr31 + "good_cntx=2" + chr31 + "good_amtx=${data.setle.wonSetleAmt}";
document.order_info.good_info.value = good_info;
}
}
@@ -106,7 +106,7 @@
<!-- ========== 에스크로 필수정보 End =============================== -->
<input type="hidden" name="good_name" value="${data.setle.goodsNm}"/> <!-- 상품명 -->
<input type="hidden" name="good_mny" value="${data.setle.setleAmt}"/> <!-- 결제 금액 -->
<input type="hidden" name="good_mny" value="${data.setle.wonSetleAmt}"/> <!-- 결제 금액 -->
<input type="hidden" name="buyr_name" value="${data.ordr.ordrrNm}"/> <!-- 주문자 이름 -->
<input type="hidden" name="buyr_mail" value="${data.ordr.ordrrEmail}"/> <!-- 주문자 이메일 -->
<input type="hidden" name="buyr_tel2" value="${data.ordr.ordrrMbtlnb}"/> <!-- 주문자 휴대폰번호 -->

View File

@@ -20,6 +20,7 @@
<head>
<spring:eval expression="@environment.getProperty('spring.profiles.active')" var="profiles"/>
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
<spring:eval expression="@environment.getProperty('currency-unit.KR')" var="krUnit"/>
<c:if test="${profiles eq 'stage' && originalHost eq 'new.chamdahan.com'}">
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />
</c:if>
@@ -52,7 +53,11 @@
* 초기 설정
**********************************************************/
const fn_init = function() {
const recentSearches = localStorage.getItem('recentSearches');
localStorage.clear();
if (recentSearches !== null){
localStorage.setItem('recentSearches', recentSearches);
}
fn_get_spbk_goods_list();
}
@@ -461,6 +466,7 @@
$(ul).find('#dscntAmtSapn').text((data.dscntAmt).toLocaleString());
$('#setleAmtSapn').text((data.setleAmt).toLocaleString());
$('#setleAmtKrSapn').text((data.setleAmtKr).toLocaleString());
let li = '';
@@ -1466,16 +1472,20 @@
<li>
<span class="cartOrderBox__th">배송비</span>
<%-- <span class="cartOrderBox__td"><span class="comma" id="dlvyAmtSapn">0</span><span class="priceUnit">${curUnit}</span></span>--%>
<span class="cartOrderBox__td"><span class="comma" id="dlvyAmtSapn">0</span><span class="priceUnit">Calculated at next step</span></span>
<span class="cartOrderBox__td"><span class="priceUnit">Calculated at next step</span></span>
</li>
<li>
<span class="cartOrderBox__th">총 할인금액</span>
<span class="cartOrderBox__td"><span class="cartOrderBox__discountMinus">(-)</span><span id="dscntAmtSapn" class="comma">0</span><span class="priceUnit">${curUnit}</span></span>
</li>
</ul>
<div class="cartOrderBox__total">
<div class="cartOrderBox__total" style="margin-bottom: 5px;">
<span class="cartOrderBox__totalTh">결제예정금액</span>
<span class="cartOrderBox__totalTd"><span id="setleAmtSapn" class="comma">0</span><span class="priceUnit">${curUnit}</span></span>
<span class="cartOrderBox__td"><span id="setleAmtSapn" class="comma">0</span><span class="priceUnit">${curUnit}</span></span>
</div>
<div class="cartOrderBox__total" style="margin-top: 5px;">
<span class="cartOrderBox__totalTh"></span>
<span class="cartOrderBox__totalTd"><span id="setleAmtKrSapn" class="comma">0</span><span class="priceUnit">${krUnit}</span></span>
</div>
<div class="">
<span class="text">&#8251; 쿠폰 적용가는 최종 결제창에서 확인 가능합니다.</span>

File diff suppressed because it is too large Load Diff

View File

@@ -331,11 +331,12 @@
<input type = "hidden" id = "bbsInfo" value = "<c:out value = '${bbsInfo.bbsInfo}'/>" name = "bbsInfo"/>
<input type = "hidden" id = "bbscttSndngMthCd" value = "<c:out value = '${bbsInfo.bbscttSndngMthCd}'/>" name = "bbscttSndngMthCd"/>
<input type = "hidden" id = "regusrDvCd" value = "<c:out value = '${bbscttVO.regusrDvCd}'/>" name = "regusrDvCd"/>
<div class="refund-clause ck-content">
<c:out value="${clauseList[0].stplatNm}" escapeXml="false"/>
<br><br>
<c:out value="${clauseList[0].stplatCn}" escapeXml="false"/>
</div>
<%--구독취소 유의사항--%>
<%-- <div class="refund-clause ck-content">--%>
<%-- <c:out value="${clauseList[0].stplatNm}" escapeXml="false"/>--%>
<%-- <br><br>--%>
<%-- <c:out value="${clauseList[0].stplatCn}" escapeXml="false"/>--%>
<%-- </div>--%>
<div class="userForm">
<div class="userForm__inputBox">
<div class="userForm__inputBox__item">

View File

@@ -268,6 +268,8 @@
border-radius: 8px;
border: 1px solid #dee2e6;
margin-bottom: 20px;
overflow: scroll;
max-height: 170px;
}
</style>
<body>
@@ -296,11 +298,13 @@
<div class="microModal__inner">
<form id="bbsRegForm">
<input type='hidden' name='bbsTyCd' id='bbsTyCd' value='<c:out value="${bbsInfo.bbsTyCd}"/>'>
<div class="refund-clause ck-content">
<c:out value="${clauseList[0].stplatNm}" escapeXml="false"/>
<br><br>
<c:out value="${clauseList[0].stplatCn}" escapeXml="false"/>
</div>
<c:if test="${bbsInfo.bbsTyCd eq '12'}">
<div class="refund-clause ck-content">
<c:out value="${clauseList[0].stplatNm}" escapeXml="false"/>
<br><br>
<c:out value="${clauseList[0].stplatCn}" escapeXml="false"/>
</div>
</c:if>
<div class="userForm">
<div class="userForm__inputBox">
<div class="userForm__inputBox__item">

View File

@@ -43,7 +43,9 @@
$('#cnsmrpric').text(fn_format_number(data.cnsmrpric) + curUnit);
$('#selpric').text(fn_format_number(data.selpric) + curUnit);
$('#dscntRaito').text(data.dscntRaito + '%');
$('#subsvcDc').html(data.subsvcDc);
$('#subsvcDc').html(
data.mblSubsvcDcPcSameAt === "N" ? data.mblSubsvcDc : data.subsvcDc
);
switch (data.subsvcSttusCd) {
case '01':
@@ -58,10 +60,37 @@
default:
break;
}
// 화면 최상단으로 스크롤
$("html, body").animate({ scrollTop: 0 }, 400);
}
});
}
/*************************************************************
구매하기 버튼
**************************************************************/
const fn_purchs_subsvc = function() {
var checkedValue = $("input[name='subsvcInnb']:checked").val();
var tempForm = $('<form>', {
method: 'post',
action: '/sopmal/ordr/selectSubsvcPurchsForm'
});
$('<input>', {
type: 'hidden',
name: 'subsvcInnb',
value: checkedValue
}).appendTo(tempForm);
tempForm.appendTo('body');
tempForm.submit();
tempForm.remove();
}
/******************************************************
* 숫자 자릿점 포메팅
* ****************************************************/
const fn_format_number = function(number) {
return Number(number).toLocaleString();
}
@@ -86,14 +115,14 @@
</header>
<!-- 하단 탭바 -->
<jsp:include page="/WEB-INF/views/comm/mobile/TabBar.jsp"/>
<%-- <jsp:include page="/WEB-INF/views/comm/mobile/TabBar.jsp"/>--%>
<!-- 메인 컨텐츠 -->
<div class="content-wrap">
<main class="main">
<div class="sub-page">
<div class="sub-box">
<div class="ck-content">
<div class="ck-content" style="background-color: #f8f9fB;">
<c:out value="${ resultMap.sopmalInfo[0].subsvcGuidanceWords }" escapeXml="false"/>
</div>
</div>
@@ -137,16 +166,13 @@
</dl>
</div>
</div>
<div class="productDetailInfo">
<div class="productDetailInfo__body">
<button type="button" class="btn full md gray" onclick="openModal('product-option-sheet')">
<div class="bottomFixedControls">
<div class="bottomFixedControls__inner">
<button type="button" class="btn outline theme" onclick="openModal('product-option-sheet')">
옵션선택
</button>
</div>
</div>
<div class="productDetailInfo">
<div class="productDetailInfo__body">
<button type="button" class="btn full theme">구매하기</button>
<button type="button" id="subscribeBtn" class="btn theme" onclick="fn_purchs_subsvc();">구독하기</button>
</div>
</div>
</div>

View File

@@ -669,6 +669,13 @@
return;
}
if($('#mbtlnb').val() === null || $('#mbtlnb').val() === '') {
alert('휴대폰 번호를 입력해주세요.');
$('#mbtlnb').focus();
fn_regist_fail();
return;
}
if(!isChkd_Dup) {
$('#mbrId').focus();
fn_alert_show('아이디 중복 확인을 해주세요.');
@@ -724,7 +731,7 @@
return;
}
fn_make_brthDe();
// fn_make_mbtlnb();
fn_make_mbtlnb();
var email = $('#email').val();
$('[name=email]').val(email.trim());
@@ -1105,6 +1112,13 @@
<tbody id="rejoinSelect"></tbody>
</table>
</div>
<div class="userForm__inputBox__item">
<div class="userForm__inputBox__itemTitle">휴대전화<span class="required-asterisk">*</span></div>
<div class="inputWithBtn">
<input type="text" class="input-text full number" id="mbtlnb" title="휴대폰" placeholder="휴대폰번호 입력 ('-' 없이)" oninput="fn_set_event(this, 'keyup', fn_fmt_telno)" maxlength="13">
<input type="hidden" name="mbtlnb">
</div>
</div>
<div class="userForm__inputBox__item">
<div class="userForm__inputBox__itemTitle">아이디<span class="required-asterisk">*</span></div>
<div class="inputWithBtn">

View File

@@ -31,6 +31,12 @@
awaitCloseAnimation: true,
});
//배송지정보 세팅
dlvylcFormPreValues = {};
$('[name=dlvylcAreaCd]').on('change', fn_toggle_langHeader)
.on('change', fn_clear_dlvylcForm);
fn_toggle_langHeader();
});
</script>
<!-- 배송지 변경 -->
@@ -165,7 +171,17 @@
<div class="tabContent">
<div class="sub-box">
<form id = "dlvylcRegistForm">
<div class="userForm">
<div class="custom-radio-container">
<div class="custom-radio is-medium listW chk_on">
<input type="radio" id="langKr" name="dlvylcAreaCd" value="KR" checked>
<label for="langKr">KR</label>
</div>
<div class="custom-radio is-medium listW chk_on">
<input type="radio" id="langJp" name="dlvylcAreaCd" value="JP">
<label for="langJp">JP</label>
</div>
</div>
<div class="userForm" id="dlvylcFormTable">
<div class="userForm__inputBox">
<div class="userForm__inputBox__item">
<div class="userForm__inputBox__itemTitle">
@@ -185,12 +201,13 @@
</div>
<div class="inputAddress">
<div class="inputAddress__postalCode">
<input type="text" class="input-text" id="zip" name="zip" title="우편번호" maxlength="5" readonly>
<button type="button" class="btn md theme outline"
<input type="text" class="input-text" id="zip" name="zip" title="우편번호" maxlength="7" readonly>
<button type="button" class="btn md theme outline langKr"
data-micromodal-trigger="modalDiv"
onclick="fn_select_post_mobile(fn_select_dlvylc_postcode); return false;">우편번호
찾기
onclick="fn_select_post_mobile(fn_select_dlvylc_postcode); return false;">
우편번호 찾기
</button>
<button type="button" class="btn md theme outline langJp" onclick="fn_select_postcodeJp(); return false;">주소 찾기</button>
</div>
<input type="text" class="input-text full" id="adres" name="adres"
maxlength="66" readonly title="주소">
@@ -207,6 +224,12 @@
maxlength="13" placeholder="휴대폰번호'-'없이 입력하세요">
</div>
</div>
<div class="userForm__inputBox__item langKr">
<div class="userForm__inputBox__itemTitle">개인통관번호 (개인통관부호)<span class="required-asterisk">*</span></div>
<input type="text" class="input-text full" id="cstmclerCd" name="cstmclerCd" title="개인통관번호(개인통관부호)" maxlength="13" placeholder="P로 시작하는 13자리 부호를 입력하세요">
<button type="button" class="btn md theme outline" onclick="window.open('https://unipass.customs.go.kr/per/persIndex.do', '_blank'); return false;">통관번호 조회</button>
<input type="hidden" class="m-input" id="prefcode" name="prefcd">
</div>
<div class="userForm__inputBox__item">
<div class="b-checkbox-container userForm__inputBox__checks">
<label class="b-checkbox checkbox">

View File

@@ -13,6 +13,13 @@
if($(".telno").eq(0).val() !== undefined){
$(".telno").eq(0).val(fn_format_mbtlnb($(".telno").eq(0).val()));
}
//배송지정보 세팅
dlvylcFormPreValues = {};
$('[name=dlvylcAreaCd]').on('change', fn_toggle_langHeader)
.on('change', fn_clear_dlvylcForm);
fn_toggle_langHeader();
});
</script>
@@ -33,7 +40,17 @@
<div class="tabContent">
<div class="sub-box">
<form id = "dlvylcUpdtForm">
<div class="userForm">
<div class="custom-radio-container">
<div class="custom-radio is-medium listW chk_on">
<input type="radio" id="langKr" name="dlvylcAreaCd" value="KR" <c:if test="${'KR' eq dtlDlvylc.resultVO.dlvylcAreaCd}">checked</c:if>>
<label for="langKr">KR</label>
</div>
<div class="custom-radio is-medium listW chk_on">
<input type="radio" id="langJp" name="dlvylcAreaCd" value="JP" <c:if test="${'JP' eq dtlDlvylc.resultVO.dlvylcAreaCd}">checked</c:if>>
<label for="langJp">JP</label>
</div>
</div>
<div class="userForm" id="dlvylcFormTable">
<div class="userForm__inputBox">
<div class="userForm__inputBox__item">
<div class="userForm__inputBox__itemTitle">배송지명<span
@@ -54,12 +71,13 @@
<div class="inputAddress__postalCode">
<input type="text" class="input-text" id="zip" name="zip" title="우편번호"
maxlength="5" value="<c:out value = "${dtlDlvylc.resultVO.zip}"/>" readonly>
<button type="button" class="btn md theme outline"
maxlength="7" value="<c:out value = "${dtlDlvylc.resultVO.zip}"/>" readonly>
<button type="button" class="btn md theme outline langKr"
data-micromodal-trigger="modalDiv"
onclick="fn_select_post_mobile(fn_select_dlvylc_postcode, '#postCodeCn', '#modalDiv'); return false;">
우편번호 찾기
</button>
<button type="button" class="btn md theme outline langJp" onclick="fn_select_postcodeJp(); return false;">주소 찾기</button>
</div>
<input type="text" class="input-text full" id="adres" name="adres"
maxlength="66" title="주소" readonly value=<c:choose>
@@ -78,6 +96,13 @@
value="<c:out value ='${dtlDlvylc.resultVO.mbtlnb}'/>" maxlength="13" placeholder="휴대폰번호'-'없이 입력하세요">
</div>
</div>
<div class="userForm__inputBox__item langKr">
<div class="userForm__inputBox__itemTitle">개인통관번호 (개인통관부호)<span class="required-asterisk">*</span></div>
<input type="text" class="input-text full" id="cstmclerCd" name="cstmclerCd" title="개인통관번호(개인통관부호)" value="<c:out value = "${dtlDlvylc.resultVO.cstmclerCd}"/>"
maxlength="13" placeholder="P로 시작하는 13자리 부호를 입력하세요">
<button type="button" class="btn md theme outline" onclick="window.open('https://unipass.customs.go.kr/per/persIndex.do', '_blank'); return false;">통관번호 조회</button>
<input type="hidden" class="m-input" id="prefcode" name="prefcd" value="<c:out value = '${dtlDlvylc.resultVO.prefcd}'/>">
</div>
<div class="userForm__inputBox__item">
<div class="b-checkbox-container userForm__inputBox__checks">
<label class="b-checkbox checkbox">

View File

@@ -55,9 +55,9 @@
e.preventDefault();
});
//휴대폰번호 포매팅
// if($("#mbtlnb").val() !== ''){
// fn_set_lagacyMbtlnb($("#mbtlnb").val());
// }
if($("#mbtlnb").val() !== ''){
fn_set_lagacyMbtlnb($("#mbtlnb").val());
}
/* ********************************************************
* 모달 배경화면 스크롤 방지
@@ -106,7 +106,7 @@
******************************************************** */
const fn_set_lagacyMbtlnb = function(mbtlnb) {
$("#mbtlnb").val(fn_format_mbtlnb(mbtlnb));
$("#inputMbtlnb").val(mbtlnb);
// $("#inputMbtlnb").val(mbtlnb);
}
/* ********************************************************
@@ -923,6 +923,15 @@
// $('#dtlAdres').focus();
// return;
// }
if ($('#mbtlnb').val() === null || $('#mbtlnb').val() === '') {
alert('휴대폰 번호를 입력해주세요.');
$('#mbtlnb').focus();
return;
}
let mbtlnb = $('#mbtlnb').val().trim().replace(/-/g, '');
$('[name=mbtlnb]').val(mbtlnb);
// console.log("mbtlnb : ",mbtlnb);
const data = $("#mbrInfoUpdtForm").serialize();
if (confirm('회원 정보를 <spring:message code="confirm.common.update"/>')) {
@@ -1259,6 +1268,15 @@
</div>
</div>
</div>
<div class="userForm__inputBox__item">
<div class="userForm__inputBox__itemTitle">휴대폰번호<span class="required-asterisk">*</span></div>
<div class="inputWithBtn">
<input type="text" class="input-text full number" id="mbtlnb" title="휴대폰" placeholder="휴대폰번호 입력 (’-’ 없이)" oninput="fn_set_event(this, 'keyup', fn_fmt_telno)"
value="<c:out value="${ resultMap.result.mbtlnb }"/>" maxlength="13">
<input type="hidden" name="mbtlnb" value="<c:out value="${resultMap.result.mbtlnb}"/>" id="inputMbtlnb">
</div>
<%-- <p class="userForm__inputBox__alertText" id="mbtlnbAlert">휴대폰 번호를 입력해 주세요.</p>--%>
</div>
<%-- <div class="userForm__inputBox__item">--%>
<%-- <div class="userForm__inputBox__itemTitle">이메일<span class="required-asterisk">*</span></div>--%>
<%-- <div class="inputWithBtn">--%>

View File

@@ -114,9 +114,9 @@
loading.remove();
},
error:function (request) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
loading.remove();
}
@@ -249,9 +249,9 @@
}
},
error:function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -301,9 +301,9 @@
}
},
error:function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -654,8 +654,8 @@
onSuccess();
},
error: function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
alert(message.errorMsg);
let message = JSON.parse(request.responseText).resBody.result;
alert(message);
}
});
}

View File

@@ -56,9 +56,9 @@
loading.remove();
},
error: function (request) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
loading.remove();
}
@@ -93,9 +93,9 @@
loading.remove();
},
error:function (request) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
loading.remove();
}

View File

@@ -109,9 +109,9 @@
}
},
error:function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -158,9 +158,9 @@
}
},
error:function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -259,8 +259,8 @@
}
},
error: function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
$("#message.errorMsg").text(message.errorMsg);
let message = JSON.parse(request.responseText).resBody.result;
$("#message.errorMsg").text(message);
openModal2("custom_alert")
}
});

View File

@@ -115,9 +115,9 @@
loading.remove();
},
error:function (request) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
loading.remove();
}
@@ -290,9 +290,9 @@
}
},
error:function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -345,9 +345,9 @@
fn_get_ordr_dlvy_list(1);
},
error:function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -705,8 +705,8 @@
onSuccess();
},
error: function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
alert(message.errorMsg);
let message = JSON.parse(request.responseText).resBody.result;
alert(message);
}
});
}

View File

@@ -8,6 +8,7 @@
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
<spring:eval expression="@environment.getProperty('currency-unit.KR')" var="krUnit"/>
<!DOCTYPE html>
<html lang="ko">
<head>
@@ -107,9 +108,9 @@
}
},
error:function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -159,9 +160,9 @@
}
},
error:function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
}
});
}
@@ -272,6 +273,8 @@
dlvylc['recpntNm'] = data.recpntNm;
dlvylc['recpntMbtlnb'] = data.mbtlnb;
dlvylc['dlvylcZip'] = data.postcode;
dlvylc['dlvylcAreaCd'] = data.dlvylcAreaCd;
dlvylc['prefcd'] = data.prefcd;
dlvylc['dlvylcAdresDvCd'] = data.addressType;
dlvylc['dlvylcLnbAdres'] = data.jibunAddress;
dlvylc['dlvylcRnmAdres'] = data.roadAddress;
@@ -292,8 +295,8 @@
onSuccess();
},
error: function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
alert(message.errorMsg);
let message = JSON.parse(request.responseText).resBody.result;
alert(message);
}
});
}
@@ -674,7 +677,9 @@
<c:when test="${'04' == order.ordrTyCd || '05' == order.ordrTyCd}"> <%-- 선물하기, 여러곳배송 --%>
<div class="detailTop">
<p class="detailTop__title">총 <em><c:out value="${fn:length(data.shippingList)}"/>곳</em>의 배송지로 주문하셨습니다.</p>
<button class="btn sm gray2">전체 결제취소</button>
<c:if test="${order.ordrSttusCd == 25}">
<button class="btn sm gray2" onclick="fn_call_setle_cancl_pop('${order.sopmalCd}', '${order.ordrInnb}', '${goods.ordrDlvyInnb}','${setleDt}', '${setleTyCd}'); return false;">전체 결제취소</button>
</c:if>
</div>
<div class="orderDetailTop">
<span class="orderDetailTop__date"><c:out value="${order.ordrRceptDt}"/></span>
@@ -739,7 +744,7 @@
</c:when>
<c:when test="${goods.ordrSttusCd > 34 && goods.ordrSttusCd < 55}">
<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_setle_cancl_pop('${order.sopmalCd}', '${order.ordrInnb}', '${goods.ordrDlvyInnb}','${setleDt}', '${setleTyCd}', '${order.ordrSttusCd}');" class="btn gray full">결제취소</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 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>
@@ -1107,7 +1112,7 @@
</c:if>
<tr>
<th>결제금액</th>
<td><span class="comma"><fmt:formatNumber value="${setle.setleAmt}" pattern="#,###"/></span>${curUnit}</td>
<td><span class="comma"><fmt:formatNumber value="${setle.setleAmt}" pattern="#,###"/></span>${curUnit} / <span class="comma">${setle.wonSetleAmt}</span>${krUnit}</td>
</tr>
<c:if test = "${order.ordrSttusCd ne '85' && order.ordrSttusCd ne '95'}"><%--주문취소시 미노출--%>
<tr <c:if test = "${empty setle.issuSttusCd}">style="border-bottom: 0.5px solid #e9ecef;"</c:if>>
@@ -1128,47 +1133,6 @@
</td>
</tr>
</c:if>
<c:if test="${setle.reqstDvCd ne '04'}">
<c:if test="${not empty setle.issuSttusCd && order.ordrSttusCd ne '85' && order.ordrSttusCd ne '95'}">
<%--현금영수증 발급상태가 존재하고, 주문상태가 주문취소, 결제취소가 아닐 때 노출--%>
<tr style="border-bottom: 0.5px solid #e9ecef;">
<th>현금영수증</th>
<td>
<c:choose>
<c:when test="${order.salesPosbleRegistAt eq 'N'}">
<span class="orderDetail__waiting"><c:out value="${setle.crtnb eq '0100001234' ? '미신청' : setle.crtnb}"/></span>
<button type="button" class="btn xsm gray2" onclick="fn_regist_popopen('<c:out value="${setle.selngPrufInnb}"/>','update');">정보수정</button>
</c:when>
<c:when test="${order.salesPosbleRegistAt eq 'Y' && setle.crtnb eq '0100001234'}">
<span class="orderDetail__waiting">미신청</span>
<button type="button" class="btn xsm gray2" onclick="fn_regist_popopen('<c:out value="${setle.selngPrufInnb}"/>','regist');">신청하기</button>
</c:when>
<c:otherwise>
<span class="orderDetail__waiting" id='ctrnb'><script>$("#ctrnb").text('${setle.issuSttusNm} ('+fn_format_mbtlnb('${setle.crtnb}')+')');</script></span>
<br/>
<span class="orderDetail__deduction"><c:out value="${setle.issuTrgetDvCd eq '01' ? '개인소득공제' : '사업자지출증빙'}"/></span>
<c:if test="${ !empty setle.cshRciptDelngNb }">
<%-- 현:현금영수증 --%>
<button type="button" class="btn xsm gray2" onclick="fn_open_selng_pruf_inqire_modal(
'<c:out value="${ setle.sopmalCd }" />'
,'<c:out value="${ setle.pgInnb }" />'
,'<c:out value="${ setle.pgCmpnyNm }" />'
,'<c:out value="${ setle.cshRciptDelngNb }" />'
,'<c:out value="${ setle.reqstDvCd }" />'
,'<c:out value="${ setle.setleTyCd }" />'
,'<c:out value="${ setle.ordrSetleInnb }" />'
,'<c:out value="${ setle.ordrInnb }" />'
,'<c:out value="${ setle.mid }" />'
,'<fmt:parseNumber value="${ setle.setleAmt }"/>'); return false;">
보기
</button>
</c:if>
</c:otherwise>
</c:choose>
</td>
</tr>
</c:if>
</c:if>
</tbody>
</table>
</c:forEach>
@@ -1231,7 +1195,7 @@
<tr>
<th>총 결제금액</th>
<td>
<span class="comma"><fmt:formatNumber value="${total.setleAmt}" pattern="#,###"/></span>${curUnit}
<span class="comma"><fmt:formatNumber value="${total.setleAmt}" pattern="#,###"/></span>${curUnit} / <span class="comma">${total.wonRlSetleAmt}</span>${krUnit}
</td>
</tr>
</tfoot>
@@ -1242,60 +1206,60 @@
</div>
</div>
<c:if test="${not empty data.refundList}">
<div class="sub-box">
<div class="orderDetailProduct">
<div class="orderDetailProduct__top" role="button" tabindex="0">
<span class="orderDetailProduct__top__title">무효/취소/반품 내역</span>
<span class="orderDetailProduct__top__chevron"></span>
</div>
<div class="orderDetail__content">
<div class="orderDetail__body">
<div class="table-wrapper orderDetail__table orderDetail__table--price">
<table class="table">
<colgroup>
<col style="width: 40%">
<col style="width: auto">
<col style="width: auto">
</colgroup>
<tbody>
<c:forEach var="refund" items="${data.refundList}">
<tr>
<th colspan="2">
<strong>
<c:out value="${refund.refundTyNm}"/>
(<c:out value="${refund.refundProcsSttusNm }"/> <c:out value="${refund.orderRefundInnb}"/>)
</strong>
</th>
<td><c:if test = "${order.ordrSttusCd ne '95'}"><button type="button" class="orderListItem__top__more" onclick="fn_move_dtlupdt('<c:out value="${refund.orderRefundInnb}"/>','<c:out value="${refund.ordrInnb}"/>');">상세보기</button></c:if></td>
</tr>
<tr>
<th>접수일시</th>
<td colspan="2"><c:out value="${refund.sumRefundReqstDt}"/></td>
</tr>
<c:if test = "${not empty refund.sumRefundComptDt}">
<tr>
<th> 처리일시</th>
<td colspan="2"><c:out value="${refund.sumRefundComptDt}"/></td>
</tr>
</c:if>
<tr>
<th>처리수량</th>
<td colspan="2"><fmt:formatNumber value="${refund.refundQy}" pattern="#,###"/>개</td>
</tr>
<tr style="border-bottom: 1px solid #e9ecef;">
<th>처리금액</th>
<td colspan="2"><fmt:formatNumber value="${refund.refundAmt}" pattern="#,###"/>${curUnit}</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</c:if>
<%-- <c:if test="${not empty data.refundList}">--%>
<%-- <div class="sub-box">--%>
<%-- <div class="orderDetailProduct">--%>
<%-- <div class="orderDetailProduct__top" role="button" tabindex="0">--%>
<%-- <span class="orderDetailProduct__top__title">무효/취소/반품 내역</span>--%>
<%-- <span class="orderDetailProduct__top__chevron"></span>--%>
<%-- </div>--%>
<%-- <div class="orderDetail__content">--%>
<%-- <div class="orderDetail__body">--%>
<%-- <div class="table-wrapper orderDetail__table orderDetail__table--price">--%>
<%-- <table class="table">--%>
<%-- <colgroup>--%>
<%-- <col style="width: 40%">--%>
<%-- <col style="width: auto">--%>
<%-- <col style="width: auto">--%>
<%-- </colgroup>--%>
<%-- <tbody>--%>
<%-- <c:forEach var="refund" items="${data.refundList}">--%>
<%-- <tr>--%>
<%-- <th colspan="2">--%>
<%-- <strong>--%>
<%-- <c:out value="${refund.refundTyNm}"/>--%>
<%-- (<c:out value="${refund.refundProcsSttusNm }"/> <c:out value="${refund.orderRefundInnb}"/>)--%>
<%-- </strong>--%>
<%-- </th>--%>
<%-- <td><c:if test = "${order.ordrSttusCd ne '95'}"><button type="button" class="orderListItem__top__more" onclick="fn_move_dtlupdt('<c:out value="${refund.orderRefundInnb}"/>','<c:out value="${refund.ordrInnb}"/>');">상세보기</button></c:if></td>--%>
<%-- </tr>--%>
<%-- <tr>--%>
<%-- <th>접수일시</th>--%>
<%-- <td colspan="2"><c:out value="${refund.sumRefundReqstDt}"/></td>--%>
<%-- </tr>--%>
<%-- <c:if test = "${not empty refund.sumRefundComptDt}">--%>
<%-- <tr>--%>
<%-- <th> 처리일시</th>--%>
<%-- <td colspan="2"><c:out value="${refund.sumRefundComptDt}"/></td>--%>
<%-- </tr>--%>
<%-- </c:if>--%>
<%-- <tr>--%>
<%-- <th>처리수량</th>--%>
<%-- <td colspan="2"><fmt:formatNumber value="${refund.refundQy}" pattern="#,###"/>개</td>--%>
<%-- </tr>--%>
<%-- <tr style="border-bottom: 1px solid #e9ecef;">--%>
<%-- <th>처리금액</th>--%>
<%-- <td colspan="2"><fmt:formatNumber value="${refund.refundAmt}" pattern="#,###"/>${curUnit}</td>--%>
<%-- </tr>--%>
<%-- </c:forEach>--%>
<%-- </tbody>--%>
<%-- </table>--%>
<%-- </div>--%>
<%-- </div>--%>
<%-- </div>--%>
<%-- </div>--%>
<%-- </div>--%>
<%-- </c:if>--%>
<div class="fullBtnSection">
<button type="button" onclick="fn_go_ordr_list('${order.sopmalCd}', '${order.ordrInnb}')" class="btn md outline full">목록</button>
</div>

View File

@@ -286,9 +286,9 @@
$("#btnSetleCancl").prop('disabled',false);
},
error:function (request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
$("#btnSetleCancl").prop('disabled',false);
}
}).done( function (data) {

View File

@@ -385,9 +385,9 @@
$("#btnReturnRegist").prop("disabled",false);
},
error : function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
let message = JSON.parse(request.responseText).resBody.result;
alert(message.errorMsg);
alert(message);
$("#btnReturnRegist").prop("disabled",false);
}
});

View File

@@ -200,6 +200,7 @@
<div class="sub-page">
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
<spring:eval expression="@environment.getProperty('currency-unit.KR')" var="krUnit"/>
<div class="orderDetail">
<c:if test="${ not empty resultMap.result.refnd.refundComptDt }">
<div class="detailTop">
@@ -686,6 +687,12 @@
<span class="comma"><c:out value="${ reTotAmt.rlRefundAmt }"/></span>${curUnit}
</td>
</tr>
<tr>
<th>실 환불금액</th>
<td>
<span class="comma"><c:out value="${ reTotAmt.realRefundAmt }"/></span>${curUnit} [<span class="comma"><c:out value="${ reTotAmt.realWonRefundAmt }"/></span>${krUnit}]
</td>
</tr>
</tfoot>
</table>
</div>
@@ -713,6 +720,9 @@
<input type="hidden" id="pageIndex" name="pageIndex" value="${ paramVO.pageIndex }"/>
<input type="hidden" id="recordCountPerPage" name="recordCountPerPage" value="${ paramVO.recordCountPerPage }"/>
<input type="hidden" id="pageUnit" name="pageUnit" value="${ paramVO.pageUnit }"/>
<input type="hidden" name="srchwrd" id="srchwrd" value="${ paramVO.srchwrd }"/>
<input type="hidden" name="bgnDt" id="bgnDt" value="${ paramVO.bgnDt }"/>
<input type="hidden" name="endDt" id="endDt" value="${ paramVO.endDt }"/>
</form>
<!-- 푸터 -->

View File

@@ -28,6 +28,8 @@
$(document).ready(function (){
fn_set_param();
const title = '반품/환불 내역';
fn_set_header_title(title);
@@ -70,6 +72,34 @@
}
/******************************************************************
* 검색조건 세팅
******************************************************************/
const fn_set_param = function() {
const params = ${paramVO};
const keys = Object.keys(params);
for (let i = 0; i < keys.length; i++) {
let key = keys[i];
let data = params[key];
if ('bgnDt' == key || 'endDt' == key) {
if (!fn_is_empty(data)) {
for (let i = 0; i < data.length; i++) {
$('#' + key).val(data);
}
}
}
if ('dateRange' == key) {
$('#'+ data).trigger('click');
}
if ('srchwrd' == key) {
$('#' + key).val(data);
}
}
}
/**********************************************************

Some files were not shown because too many files have changed in this diff Show More