diff --git a/src/main/java/com/wb/domainserver/domain/gcone/goods/purchs/service/BOPurchsService.java b/src/main/java/com/wb/domainserver/domain/gcone/goods/purchs/service/BOPurchsService.java index 8b91ec26..529601b5 100644 --- a/src/main/java/com/wb/domainserver/domain/gcone/goods/purchs/service/BOPurchsService.java +++ b/src/main/java/com/wb/domainserver/domain/gcone/goods/purchs/service/BOPurchsService.java @@ -177,6 +177,7 @@ public class BOPurchsService { public DataMap selectDftDlvylc(BOPurchsrVO purchsrVO) { DataMap dftDlvylc = new DataMap(); + //기본배송지여부 purchsrVO.setDftDlvylcAt("Y"); List dlvylcAdresList = mapper.selectDlvylcList(purchsrVO); @@ -1854,6 +1855,8 @@ public class BOPurchsService { }}; String defaultAdressAt = ""; + String dlvylcAreaCd = (String) param.get("dlvylcAreaCd"); + String prefcd = (String) param.get("prefcd"); List goodsList = (List) param.get("goodsList"); @@ -1922,7 +1925,7 @@ public class BOPurchsService { if (dlvylc.get("dlvyAmt") != null) { dlvyAmtBydlvylc = dlvyAmtBydlvylc + castAmt(dlvylc, "dlvyAmt"); } else { - dlvyAmtMap = getDlvyAmt(goodsList, sopmalCd, defaultAdressAt); + dlvyAmtMap = getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd, prefcd); if (!CollectionUtils.isEmpty(dlvyAmtMap)) { dlvyAmtBydlvylc = ((BigDecimal) dlvyAmtMap.get("dlvyAmt")).intValue(); @@ -1947,7 +1950,7 @@ public class BOPurchsService { if (dlvylcMap.get("dlvyAmt") != null) { dlvyAmtBydlvylc = dlvyAmtBydlvylc + castAmt(dlvylcMap, "dlvyAmt"); } else { - dlvyAmtMap = getDlvyAmt(goodsList, sopmalCd, defaultAdressAt); + dlvyAmtMap = getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd, prefcd); if (!CollectionUtils.isEmpty(dlvyAmtMap)) { dlvyAmtBydlvylc = ((BigDecimal) dlvyAmtMap.get("dlvyAmt")).intValue(); @@ -1958,7 +1961,7 @@ public class BOPurchsService { dlvyAmt = new BigDecimal(dlvyAmtBydlvylc); } } else { - dlvyAmtMap = getDlvyAmt(goodsList, sopmalCd, defaultAdressAt); + dlvyAmtMap = getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd, prefcd); if (!CollectionUtils.isEmpty(dlvyAmtMap)) { dlvyAmt = (BigDecimal) dlvyAmtMap.get("dlvyAmt"); @@ -2104,9 +2107,10 @@ public class BOPurchsService { * @param goodsList * @return List */ - public DataMap getDlvyAmt(List goodsList, String sopmalCd, String defaultAdressAt) { + public DataMap getDlvyAmt(List goodsList, String sopmalCd, String defaultAdressAt, String dlvylcAreaCd, String prefcd) { DataMap dlvyAmtMap = null; log.debug("우편번호 확인 : {}", defaultAdressAt); + log.debug("getDlvyAmt-goodsList : {}", goodsList); BigDecimal rlDlvyAmt = new BigDecimal(0); // 실 최종 배송비 @@ -2171,45 +2175,65 @@ public class BOPurchsService { DataMap shippingGrouping = mapper.selectShippingGrouping(param); + //"KR".equals(dlvylcAreaCd)인 경우 String dlvyGroupDvCd = (String) shippingGrouping.get("dlvyGroupDvCd"); BigDecimal dftDlvyAmt = (BigDecimal) shippingGrouping.get("dftDlvyAmt"); // 기본배송비 BigDecimal dlvyAmt = dftDlvyAmt; // 배송비 String dlvyAreaAditAt = (String) shippingGrouping.get("dlvyAreaAditAt"); // 도서산간 추가 배송비 조건 BigDecimal areaAditDlvyAmt = (BigDecimal) shippingGrouping.get("areaAditDlvyAmt"); // 도서산간 추가 배송비 + String amtCndUseAt = (String) shippingGrouping.get("amtCndUseAt"); // 금액조건 + BigDecimal amtCndAditAmt = (BigDecimal) shippingGrouping.get("amtCndAditAmt"); + String cntCndUseAt = (String) shippingGrouping.get("cntCndUseAt"); // 수량조건 + BigDecimal cntCndAditAmt = (BigDecimal) shippingGrouping.get("cntCndAditAmt"); // 수량 + + if("JP".equals(dlvylcAreaCd)){ +// dlvyGroupDvCd = (String) shippingGrouping.get("dlvyGroupDvCd2"); + dftDlvyAmt = (BigDecimal) shippingGrouping.get("dftDlvyAmt2"); // 기본배송비 + dlvyAmt = dftDlvyAmt; // 배송비 + dlvyAreaAditAt = (String) shippingGrouping.get("dlvyAreaAditAt2"); // 도서산간 추가 배송비 조건 + areaAditDlvyAmt = (BigDecimal) shippingGrouping.get("areaAditDlvyAmt2"); // 도서산간 추가 배송비 + amtCndUseAt = (String) shippingGrouping.get("amtCndUseAt2"); // 금액조건 + amtCndAditAmt = (BigDecimal) shippingGrouping.get("amtCndAditAmt"); + cntCndUseAt = (String) shippingGrouping.get("cntCndUseAt2"); // 수량조건 + cntCndAditAmt = (BigDecimal) shippingGrouping.get("cntCndAditAmt2"); // 수량 + } // 무료배송(조건부) if ("01".equals(dlvyGroupDvCd)) { // 조건(적용상품이 1건일 경우) - String amtCndUseAt = (String) shippingGrouping.get("amtCndUseAt"); // 금액조건 - String cntCndUseAt = (String) shippingGrouping.get("cntCndUseAt"); // 수량조건 +// String amtCndUseAt = (String) shippingGrouping.get("amtCndUseAt"); // 금액조건 +// String cntCndUseAt = (String) shippingGrouping.get("cntCndUseAt"); // 수량조건 for (DataMap goodsMap : goodsByDlvyGroupList) { - BigDecimal qy = (BigDecimal) goodsMap.get("qy"); // 수량 +// BigDecimal qy = (BigDecimal) goodsMap.get("qy"); // 수량 // 금액 조건 if ("Y".equals(amtCndUseAt)) { - BigDecimal amtCndAditAmt = (BigDecimal) shippingGrouping.get("amtCndAditAmt"); // 금액조건 추가금액 +// BigDecimal amtCndAditAmt = (BigDecimal) shippingGrouping.get("amtCndAditAmt"); // 금액조건 추가금액 BigDecimal slepric = (BigDecimal) goodsMap.get("subSlepric"); // 판매가 * 수량 if (slepric.compareTo(amtCndAditAmt) > 0) { dlvyAmt = new BigDecimal(0); - } else { - //배송비 합(같은상품 수량당 배송비 책정) - dlvyAmt = dlvyAmt.multiply(qy); } +// else { +// //배송비 합(같은상품 수량당 배송비 책정) +// dlvyAmt = dlvyAmt.multiply(qy); +// } } // 수량 조건 if ("Y".equals(cntCndUseAt)) { - BigDecimal cntCndAditAmt = (BigDecimal) shippingGrouping.get("cntCndAditAmt"); // 금액조건 추가금액 +// BigDecimal cntCndAditAmt = (BigDecimal) shippingGrouping.get("cntCndAditAmt"); // 금액조건 추가금액 + BigDecimal qy = (BigDecimal) goodsMap.get("qy"); // 수량 if (qy.compareTo(cntCndAditAmt) > 0) { dlvyAmt = new BigDecimal(0); - } else { - //배송비 합(같은상품 수량당 배송비 책정) - dlvyAmt = dlvyAmt.multiply(qy); } +// else { +// //배송비 합(같은상품 수량당 배송비 책정) +// dlvyAmt = dlvyAmt.multiply(qy); +// } } } @@ -2268,29 +2292,66 @@ public class BOPurchsService { } else if ("03".equals(dlvyGroupDvCd)) { // 유료배송 - BigDecimal goodsQy = new BigDecimal(0); - // 유료배송비 합(같은상품 수량당 배송비 책정) - for (DataMap goodsMap : goodsByDlvyGroupList) { - goodsQy = (BigDecimal) goodsMap.get("qy"); - dlvyAmt = dlvyAmt.multiply(goodsQy); + if("KR".equals(dlvylcAreaCd) || "JP".equals(dlvylcAreaCd)) { - paidDlvyAmt = paidDlvyAmt.add(dlvyAmt); - } - // 유료배송비 합(같은상품 묶음 처리) - //paidDlvyAmt = paidDlvyAmt.add(dlvyAmt); + BigDecimal goodsQy = new BigDecimal(0); - if (!StringUtils.isEmpty(dlvyAreaAditAt) && "Y".equals(dlvyAreaAditAt)) { - if (!StringUtils.isEmpty(defaultAdressAt) && "Y".equals(defaultAdressAt)) { - addPaidDlvyAmt = addPaidDlvyAmt.add(areaAditDlvyAmt); // 유료 배송 도서산간 추가 배송비 - } + for (DataMap goodsMap : goodsByDlvyGroupList) { + + BigDecimal qy = (BigDecimal) goodsMap.get("qy"); // 수량 + + // 수량 조건 + if ("Y".equals(cntCndUseAt)) { + + qy = (BigDecimal) goodsMap.get("qy"); // 수량 + + if (qy.compareTo(cntCndAditAmt) > 0) { + goodsQy = qy.divide(cntCndAditAmt, 0, RoundingMode.CEILING); + //배송비 합(같은상품 수량당 배송비 책정) + BigDecimal multidlvyAmt = dlvyAmt.multiply(goodsQy); + paidDlvyAmt = paidDlvyAmt.add(multidlvyAmt); + + // 추가배송비 계산 (MUL) + if (!StringUtils.isEmpty(dlvyAreaAditAt) && "Y".equals(dlvyAreaAditAt)) { + if (!StringUtils.isEmpty(defaultAdressAt) && "Y".equals(defaultAdressAt)) { + addPaidDlvyAmt = addPaidDlvyAmt.add(areaAditDlvyAmt.multiply(goodsQy)); // 유료 배송 도서산간 추가 배송비 + } + } + + } else { + // 수량당 배송비가 1인경우 + paidDlvyAmt = paidDlvyAmt.add(dlvyAmt); + // 추가배송비 계산 + if (!StringUtils.isEmpty(dlvyAreaAditAt) && "Y".equals(dlvyAreaAditAt)) { + if (!StringUtils.isEmpty(defaultAdressAt) && "Y".equals(defaultAdressAt)) { + addPaidDlvyAmt = addPaidDlvyAmt.add(areaAditDlvyAmt); // 유료 배송 도서산간 추가 배송비 + } + } + } + } else { + //수량 조건 없는 경우 + paidDlvyAmt = paidDlvyAmt.add(dlvyAmt); // 유료배송비 합 + // 추가배송비 계산 + if (!StringUtils.isEmpty(dlvyAreaAditAt) && "Y".equals(dlvyAreaAditAt)) { + if (!StringUtils.isEmpty(defaultAdressAt) && "Y".equals(defaultAdressAt)) { + addPaidDlvyAmt = addPaidDlvyAmt.add(areaAditDlvyAmt); // 유료 배송 도서산간 추가 배송비 + } + } + } + } //for + } else { + dlvyAmt = new BigDecimal(0); + dftDlvyAmt = new BigDecimal(0); } + } BigDecimal finalDlvyAmt = dlvyAmt; - BigDecimal amtCndAditAmt = (BigDecimal) shippingGrouping.get("amtCndAditAmt"); // 금액조건 추가금액 + BigDecimal finalDftDlvyAmt = dftDlvyAmt; +// BigDecimal amtCndAditAmt = (BigDecimal) shippingGrouping.get("amtCndAditAmt"); // 금액조건 추가금액 DataMap dlvyGroupMap = new DataMap(){{ put("dlvyGroupInnb", dlvyGroupInnb); - put("dftDlvyAmt", dftDlvyAmt); + put("dftDlvyAmt", finalDftDlvyAmt); put("dlvyAmt", finalDlvyAmt); }}; diff --git a/src/main/java/com/wb/domainserver/domain/gcone/goods/purchs/vo/BOPurchsrVO.java b/src/main/java/com/wb/domainserver/domain/gcone/goods/purchs/vo/BOPurchsrVO.java index 34462c97..11115363 100644 --- a/src/main/java/com/wb/domainserver/domain/gcone/goods/purchs/vo/BOPurchsrVO.java +++ b/src/main/java/com/wb/domainserver/domain/gcone/goods/purchs/vo/BOPurchsrVO.java @@ -89,4 +89,11 @@ public class BOPurchsrVO extends AbstractVO { /** 기본배송지 여부 */ private String dftDlvylcAt; + + /** 도도부현 코드(일본) */ + private String prefcd; + + /**배송지역코드*/ + private String dlvylcAreaCd; + } diff --git a/src/main/java/com/wb/domainserver/domain/gcone/ordr/ordr/mapper/BOOrdrMapper.java b/src/main/java/com/wb/domainserver/domain/gcone/ordr/ordr/mapper/BOOrdrMapper.java index 3d774aae..4a2a8cd6 100644 --- a/src/main/java/com/wb/domainserver/domain/gcone/ordr/ordr/mapper/BOOrdrMapper.java +++ b/src/main/java/com/wb/domainserver/domain/gcone/ordr/ordr/mapper/BOOrdrMapper.java @@ -767,6 +767,8 @@ public interface BOOrdrMapper { */ public String selectBODefaultAdressAtInqire(DataMap vo); + public String selectBODefaultAdressAtInqire2(DataMap vo); + /** * 주문 상품 옵션별 정보와 배송그룹 정보 diff --git a/src/main/java/com/wb/domainserver/domain/gcone/ordr/ordr/service/BOOrdrService.java b/src/main/java/com/wb/domainserver/domain/gcone/ordr/ordr/service/BOOrdrService.java index a38d1bfb..dbfc1f07 100644 --- a/src/main/java/com/wb/domainserver/domain/gcone/ordr/ordr/service/BOOrdrService.java +++ b/src/main/java/com/wb/domainserver/domain/gcone/ordr/ordr/service/BOOrdrService.java @@ -2824,7 +2824,7 @@ public class BOOrdrService{ cashVO.setSopmalCd(ordrVO.getSopmalCd()); cashVO.setMbrDvCd(ordrVO.getMbrDvCd()); cashVO.setMbrInnb(String.valueOf(ordrVO.getMbrInnb())); - + //구매자조회 DataMap purchsrMap = purchsService.selectPurchsr(purchsrVO); if (!CollectionUtils.isEmpty(purchsrMap)) { @@ -3003,6 +3003,8 @@ public class BOOrdrService{ public Map selectSetleExpectAmt(DataMap param) throws Exception { Map content = new HashMap<>(); + log.debug("selectSetleExpectAmt-param : {}", param); + LinkedHashMap setleExpectAmtMap = new LinkedHashMap() {{ put("goodsAmt", 0); put("dlvyAmt", 0); @@ -3377,9 +3379,12 @@ public class BOOrdrService{ // ############################################## 배송지별 배송비 계산 START ############################################## String ordrAdressZip = StringUtil.isNullToString(param.get("dlvylcZip")); + String dlvylcAreaCd = (String) param.get("dlvylcAreaCd"); + String prefcd = (String) param.get("prefcd"); DataMap defaultAdressVO = new DataMap() {{ // put("sopmalCd", sopmalCd); // 쇼핑몰 코드 put("zip", ordrAdressZip); // 우편번호 + put("prefcd", prefcd); // 도도부현코드 }}; String defaultAdressAt = "N"; // 내가 제2권역 주소인지 여부 @@ -3411,15 +3416,21 @@ public class BOOrdrService{ dlvyCouponDscntAmt = dlvyCouponDscntAmt.add(new BigDecimal(applyDlvylcCouponDscntAmt)); } - - defaultAdressVO.put("zip", StringUtil.isNullToString(dlvylcMapMulti.get("dlvylcZip"))); - log.debug("defaultAdressVO : {}", defaultAdressVO); - defaultAdressAt = mapper.selectBODefaultAdressAtInqire(defaultAdressVO); + if("KR".equals(dlvylcAreaCd)){ + defaultAdressVO.put("zip", StringUtil.isNullToString(dlvylcMapMulti.get("dlvylcZip"))); + log.debug("defaultAdressVO-KR : {}", defaultAdressVO); + defaultAdressAt = mapper.selectBODefaultAdressAtInqire(defaultAdressVO); + } + if("JP".equals(dlvylcAreaCd)){ + defaultAdressVO.put("prefcd", StringUtil.isNullToString(dlvylcMapMulti.get("prefcd"))); + log.debug("defaultAdressVO-JP : {}", defaultAdressVO); + defaultAdressAt = mapper.selectBODefaultAdressAtInqire2(defaultAdressVO); + } List goodsListMulti = (List) dlvylcMapMulti.get("goodsList"); log.debug("goodsListMulti : {}", goodsListMulti); if (!CollectionUtils.isEmpty(goodsListMulti)) { - dlvyAmtMapMulti = purchsService.getDlvyAmt(goodsListMulti, sopmalCd, defaultAdressAt); + dlvyAmtMapMulti = purchsService.getDlvyAmt(goodsListMulti, sopmalCd, defaultAdressAt, dlvylcAreaCd, prefcd); if (!CollectionUtils.isEmpty(dlvyAmtMapMulti)) { if (dlvylcMapMulti.get("mngrFreeDlvyUseAt") != null && "Y".equals(dlvylcMapMulti.get("mngrFreeDlvyUseAt").toString())) { @@ -3443,8 +3454,68 @@ public class BOOrdrService{ } } else { // 일반 주문 +// DataMap dlvyAmtMapMulti = null; +// +// LinkedHashMap multiOrdrDlvylcMap = (LinkedHashMap) param.get("multiOrdrDlvylc"); +// +// log.debug("multiOrdrDlvylcMap : {}", multiOrdrDlvylcMap); +// if (!CollectionUtils.isEmpty(multiOrdrDlvylcMap)) { +// +// List> dlvylcListMulti = (List>) multiOrdrDlvylcMap.get("dlvylc"); +// +// if (!CollectionUtils.isEmpty(dlvylcListMulti)) { +// +// int dlvyAmtIndex = 0; // 배송지 rownum 체크 +// for (LinkedHashMap dlvylcMapMulti : dlvylcListMulti) { +// int dlvyAmtBydlvylc = 0; +// +// LinkedHashMap dlvylcDscntDtlsMulti = (LinkedHashMap) dlvylcMapMulti.get("dlvylcDscntDtls"); +// +// if (!CollectionUtils.isEmpty(dlvylcDscntDtlsMulti)) { +// int applyDlvylcCouponDscntAmt = (int) dlvylcDscntDtlsMulti.get("dscntAmt"); +// +// dlvyCouponDscntAmt = dlvyCouponDscntAmt.add(new BigDecimal(applyDlvylcCouponDscntAmt)); +// } +// +// +// defaultAdressVO.put("zip", StringUtil.isNullToString(dlvylcMapMulti.get("dlvylcZip"))); +// log.debug("defaultAdressVO : {}", defaultAdressVO); +// defaultAdressAt = mapper.selectBODefaultAdressAtInqire(defaultAdressVO); +// +// List goodsListMulti = (List) dlvylcMapMulti.get("goodsList"); +// log.debug("goodsListMulti : {}", goodsListMulti); +// if (!CollectionUtils.isEmpty(goodsListMulti)) { +// dlvyAmtMapMulti = purchsService.getDlvyAmt(goodsListMulti, sopmalCd, defaultAdressAt, dlvylcAreaCd, prefcd); +// +// if (!CollectionUtils.isEmpty(dlvyAmtMapMulti)) { +// if (dlvylcMapMulti.get("mngrFreeDlvyUseAt") != null && "Y".equals(dlvylcMapMulti.get("mngrFreeDlvyUseAt").toString())) { +// log.debug("관리자 무료배송 체크 'Y'"); +// dlvyAmt = dlvyAmt.add(new BigDecimal(0)); +// } else { +// dlvyAmt = dlvyAmt.add((BigDecimal) dlvyAmtMapMulti.get("dlvyAmt")); +// } +// dlvyAmtMulti.put("shippingDlvyAmt" + dlvyAmtIndex, new BigDecimal(String.valueOf(dlvyAmtMapMulti.get("dlvyAmt")))); +// +// dftDlvyAmt = dftDlvyAmt.add((BigDecimal) dlvyAmtMapMulti.get("dftDlvyAmt")); +// dlvyAmtMulti.put("shippingDftDlvyAmt" + dlvyAmtIndex, new BigDecimal(String.valueOf(dlvyAmtMapMulti.get("dftDlvyAmt")))); +// +// dlvyAmtIndex += 1; // 배송지 rownum ++ +// } +// } +// } +// +// } +// +// } - defaultAdressAt = mapper.selectBODefaultAdressAtInqire(defaultAdressVO); + if("KR".equals(dlvylcAreaCd)){ + log.debug("defaultAdressVO-KR : {}", defaultAdressVO); + defaultAdressAt = mapper.selectBODefaultAdressAtInqire(defaultAdressVO); + } + if("JP".equals(dlvylcAreaCd)){ + log.debug("defaultAdressVO-JP : {}", defaultAdressVO); + defaultAdressAt = mapper.selectBODefaultAdressAtInqire2(defaultAdressVO); + } LinkedHashMap dlvylcMap = (LinkedHashMap) param.get("dlvylc"); @@ -3472,18 +3543,18 @@ public class BOOrdrService{ if (dlvylcMap.get("dlvyAmt") != null) { log.debug("배송비 객체 : {}", dlvylcMap); if (dlvylcMap.get("mngrFreeDlvyUseAt") != null && "N".equals(dlvylcMap.get("mngrFreeDlvyUseAt").toString())) { - dlvyAmtMap = purchsService.getDlvyAmt(goodsList, sopmalCd, defaultAdressAt); + dlvyAmtMap = purchsService.getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd, prefcd); } else if (dlvylcMap.get("mngrFreeDlvyUseAt") != null && "Y".equals(dlvylcMap.get("mngrFreeDlvyUseAt").toString())) { log.debug("관리자 무료배송 체크 'Y'"); } else { - dlvyAmtMap = purchsService.getDlvyAmt(goodsList, sopmalCd, defaultAdressAt); + dlvyAmtMap = purchsService.getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd, prefcd); } if (!CollectionUtils.isEmpty(dlvyAmtMap)) { dlvyAmtBydlvylc = ((BigDecimal) dlvyAmtMap.get("dlvyAmt")).intValue(); } } else { - dlvyAmtMap = purchsService.getDlvyAmt(goodsList, sopmalCd, defaultAdressAt); + dlvyAmtMap = purchsService.getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd, prefcd); if (!CollectionUtils.isEmpty(dlvyAmtMap)) { dlvyAmtBydlvylc = ((BigDecimal) dlvyAmtMap.get("dlvyAmt")).intValue(); @@ -3492,7 +3563,7 @@ public class BOOrdrService{ dlvyAmt = new BigDecimal(dlvyAmtBydlvylc); } else { - dlvyAmtMap = purchsService.getDlvyAmt(goodsList, sopmalCd, defaultAdressAt); + dlvyAmtMap = purchsService.getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd, prefcd); if (!CollectionUtils.isEmpty(dlvyAmtMap)) { dlvyAmt = (BigDecimal) dlvyAmtMap.get("dlvyAmt"); diff --git a/src/main/resources/mybatis/xml/mapper/gcone/goods/purchs/BOPurchsMapper.xml b/src/main/resources/mybatis/xml/mapper/gcone/goods/purchs/BOPurchsMapper.xml index abfcd479..4406d321 100644 --- a/src/main/resources/mybatis/xml/mapper/gcone/goods/purchs/BOPurchsMapper.xml +++ b/src/main/resources/mybatis/xml/mapper/gcone/goods/purchs/BOPurchsMapper.xml @@ -1269,7 +1269,9 @@ FROM ( , FDA.RECPNT_NM , REGEXP_REPLACE(CAST(AES_DECRYPT(UNHEX(FDA.TELNB), '1df5be2f7e90ae36') AS CHAR(50)), '(.{2})(.{4})(.{4})', '$1-$2-$3') AS TELNB , REGEXP_REPLACE(CAST(AES_DECRYPT(UNHEX(FDA.MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), '(.{3})(.{4})(.{4})', '$1-$2-$3') AS MBTLNB + , FDA.DLVYLC_AREA_CD , FDA.ZIP + , FDA.PREFCD , FDA.ADRES_DV , FDA.RNM_ADRES , FDA.LNB_ADRES @@ -1573,6 +1575,15 @@ FROM ( , 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 + , ROUND(IFNULL(FSG.DFT_DLVY_AMT2, 0), '0') AS DFT_DLVY_AMT2 + , FSG.AMT_CND_USE_AT2 + , ROUND(IFNULL(FSG.AMT_CND_ADIT_AMT2, 0), '0') AS AMT_CND_ADIT_AMT2 + , FSG.CNT_CND_USE_AT2 + , ROUND(IFNULL(FSG.CNT_CND_ADIT_AMT2, 0), '0') AS CNT_CND_ADIT_AMT2 + , FSG.BUNDLE_DLVY_USE_AT2 + , ROUND(IFNULL(FSG.BUNDLE_DLVY_CND_AMT2, 0), '0') AS BUNDLE_DLVY_CND_AMT2 + , FSG.DLVY_AREA_ADIT_AT2 + , ROUND(IFNULL(FSG.AREA_ADIT_DLVY_AMT2, 0), '0') AS AREA_ADIT_DLVY_AMT2 FROM GC_SHIPPING_GROUPING FSG WHERE FSG.DLVY_GROUP_INNB = #{dlvyGroupInnb} AND FSG.SOPMAL_CD = #{sopmalCd} diff --git a/src/main/resources/mybatis/xml/mapper/gcone/ordr/ordr/BOOrdrMapper.xml b/src/main/resources/mybatis/xml/mapper/gcone/ordr/ordr/BOOrdrMapper.xml index efb079a5..cdcf1f73 100644 --- a/src/main/resources/mybatis/xml/mapper/gcone/ordr/ordr/BOOrdrMapper.xml +++ b/src/main/resources/mybatis/xml/mapper/gcone/ordr/ordr/BOOrdrMapper.xml @@ -4636,7 +4636,7 @@ - + + + + diff --git a/src/main/webapp/WEB-INF/views/sopmal/ordr/MbrPurchsC.jsp b/src/main/webapp/WEB-INF/views/sopmal/ordr/MbrPurchsC.jsp index b150f10d..7afbb31e 100644 --- a/src/main/webapp/WEB-INF/views/sopmal/ordr/MbrPurchsC.jsp +++ b/src/main/webapp/WEB-INF/views/sopmal/ordr/MbrPurchsC.jsp @@ -64,6 +64,8 @@ const isDftDlvylc = $('#isDftDlvylc').val(); const dlvylcZip = $('#dlvylcZip').val(); + const dlvylcAreaCd = $('#dlvylcAreaCd').val(); + const prefcd = $('#prefcd').val(); if ('N' === isDftDlvylc) { $('input[name="dlvylcDvCd"][value="New"]').trigger('click'); @@ -71,6 +73,8 @@ } localStorage.setItem("dlvylcZip", dlvylcZip); + localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd); + localStorage.setItem("prefcd", prefcd); const mbrDvCd = $('#mbrDvCd').val(); const mbrId = $('#mbrId').val(); @@ -170,7 +174,12 @@ } const dlvylcZip = $('#dlvylcZip').val(); + const dlvylcAreaCd = $('#dlvylcAreaCd').val(); + const prefcd = $('#prefcd').val(); localStorage.setItem("dlvylcZip", dlvylcZip); + localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd); + localStorage.setItem("prefcd", prefcd); + fn_get_setle_amt(); if ($(this).val() === 'Gift') { @@ -891,6 +900,8 @@ $('#dlvylcRnmAdres').val(parseJson.dftDlvylc.rnmAdres); $('#dlvylcAdresDtl').val(parseJson.dftDlvylc.dtlAdres); $('#recpntMbtlnb').val(parseJson.dftDlvylc.mbtlnb); + $('#dlvylcAreaCd').val(parseJson.dftDlvylc.dlvylcAreaCd); + $('#prefcd').val(parseJson.dftDlvylc.prefcd); let adress = '(' + $('#dlvylcZip').val() + ')' + parseJson.dftDlvylc.adres + $('#dlvylcAdresDtl').val(); @@ -1054,6 +1065,8 @@ let mngrFreeDlvyUseAt = $(form).find('input[name="mngrFreeDlvyUseAt"]').val(); let dlvylcZip = ''; + let dlvylcAreaCd = ''; + let prefcd = ''; let recpntNm = ''; let recpntMbtlnb = ''; let dlvylcAdresDvCd = ''; @@ -1065,6 +1078,8 @@ if ('Default' === dlvylcDvCd) { if (idx < 1) { // 첫번째 배송지만 dlvylcZip = $(form).find('#dlvylcZip').val(); + dlvylcAreaCd = $(form).find('#dlvylcAreaCd').val(); + prefcd = $(form).find('#prefcd').val(); recpntNm = $(form).find('#recpntNm').val(); recpntMbtlnb = $(form).find('#recpntMbtlnb').val(); dlvylcAdresDvCd = $(form).find('#dlvylcAdresDvCd').val(); @@ -1074,6 +1089,8 @@ dlvyMssageCn = $(form).find('#dlvyMssageCn').val(); } else { // 나머지 배송지 dlvylcZip = $(form).find('input[name="dlvylcZip"]').val(); + dlvylcAreaCd = $(form).find('#dlvylcAreaCd').val(); + prefcd = $(form).find('#prefcd').val(); recpntNm = $(form).find('input[name="recpntNm"]').val(); recpntMbtlnb = $(form).find('input[name="recpntMbtlnb"]').val(); dlvylcAdresDvCd = $(form).find('input[name="dlvylcAdresDvCd"]').val(); @@ -1084,6 +1101,8 @@ } } else { dlvylcZip = $(form).find('input[name="dlvylcZip"]').val(); + dlvylcAreaCd = $(form).find('#dlvylcAreaCd').val(); + prefcd = $(form).find('#prefcd').val(); recpntNm = $(form).find('input[name="recpntNm"]').val(); recpntMbtlnb = $(form).find('input[name="recpntMbtlnb"]').val(); dlvylcAdresDvCd = $(form).find('input[name="dlvylcAdresDvCd"]').val(); @@ -1102,6 +1121,8 @@ otrCouponSmtmUseAt: otrCouponSmtmUseAt, mngrFreeDlvyUseAt: mngrFreeDlvyUseAt, dlvylcZip: dlvylcZip, + dlvylcAreaCd: dlvylcAreaCd, + prefcd: prefcd, recpntNm: recpntNm, recpntMbtlnb: recpntMbtlnb, dlvylcAdresDvCd: dlvylcAdresDvCd, @@ -1468,6 +1489,8 @@ html += ' '; html += ' '; html += ' '; + html += ' '; + html += ' '; html += ' '; html += ' '; html += ' '; @@ -1801,6 +1824,8 @@ $(form).find('input[name="recpntMbtlnb"]').val(mbtlnb); $(form).find('input[name="dlvylcZip"]').val(data.postcode); + $(form).find('input[name="dlvylcAreaCd"]').val(data.dlvylcAreaCd); + $(form).find('input[name="prefcd"]').val(data.prefcd); $(form).find('input[name="dlvylcAdresDvCd"]').val(data.addressType); $(form).find('input[name="dlvylcLnbAdres"]').val(data.jibunAddress); $(form).find('input[name="dlvylcRnmAdres"]').val(data.roadAddress); @@ -2432,6 +2457,8 @@ 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(); @@ -3523,6 +3550,8 @@ "> "> + "> + "> "> "> "> @@ -3559,6 +3588,8 @@ + + diff --git a/src/main/webapp/WEB-INF/views/sopmal/ordr/SpbkPtinR.jsp b/src/main/webapp/WEB-INF/views/sopmal/ordr/SpbkPtinR.jsp index 31cf1735..a2f292cf 100644 --- a/src/main/webapp/WEB-INF/views/sopmal/ordr/SpbkPtinR.jsp +++ b/src/main/webapp/WEB-INF/views/sopmal/ordr/SpbkPtinR.jsp @@ -1465,7 +1465,8 @@
  • 배송비 - 0${curUnit} +<%-- 0${curUnit}--%> + 0Calculated at next step
  • 총 할인금액 diff --git a/src/main/webapp/WEB-INF/views/sopmal_m/ordr/MbrPurchsC.jsp b/src/main/webapp/WEB-INF/views/sopmal_m/ordr/MbrPurchsC.jsp index cae46909..267c0d14 100644 --- a/src/main/webapp/WEB-INF/views/sopmal_m/ordr/MbrPurchsC.jsp +++ b/src/main/webapp/WEB-INF/views/sopmal_m/ordr/MbrPurchsC.jsp @@ -150,7 +150,11 @@ $('.header').find('h1.header__title').text('주문결제'); const dlvylcZip = $('input[name="dlvylcZip"]').val(); + const dlvylcAreaCd = $('input[name="dlvylcAreaCd"]').val(); + const prefcd = $('input[name="prefcd"]').val(); localStorage.setItem("dlvylcZip", dlvylcZip); + localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd); + localStorage.setItem("prefcd", prefcd); const mbrDvCd = $('#mbrDvCd').val(); @@ -280,7 +284,11 @@ } const dlvylcZip = $('input[name="dlvylcZip"]').val(); + const dlvylcAreaCd = $('input[name="dlvylcAreaCd"]').val(); + const prefcd = $('input[name="prefcd"]').val(); localStorage.setItem("dlvylcZip", dlvylcZip); + localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd); + localStorage.setItem("prefcd", prefcd); fn_get_setle_amt(); if ($(this).val() === 'Gift') { @@ -1087,6 +1095,8 @@ let mngrFreeDlvyUseAt = $(form).find('input[name="mngrFreeDlvyUseAt"]').val(); let dlvylcZip = ''; + let dlvylcAreaCd = ''; + let prefcd = ''; let recpntNm = ''; let recpntMbtlnb = ''; let dlvylcAdresDvCd = ''; @@ -1097,6 +1107,8 @@ if ('Default' === dlvylcDvCd) { dlvylcZip = $(form).find('input[name="dlvylcZip"]').val(); + dlvylcAreaCd = $(form).find('input[name="dlvylcAreaCd"]').val(); + prefcd = $(form).find('input[name="prefcd"]').val(); recpntNm = $(form).find('input[name="recpntNm"]').val(); recpntMbtlnb = $(form).find('input[name="recpntMbtlnb"]').val(); dlvylcAdresDvCd = $(form).find('input[name="dlvylcAdresDvCd"]').val(); @@ -1106,6 +1118,8 @@ dlvyMssageCn = $(form).find('input[name="dlvyMssageCn"]').val(); } else { dlvylcZip = $(form).find('input[name="dlvylcZip"]').val(); + dlvylcAreaCd = $(form).find('input[name="dlvylcAreaCd"]').val(); + prefcd = $(form).find('input[name="prefcd"]').val(); recpntNm = $(form).find('input[name="recpntNm"]').val(); recpntMbtlnb = $(form).find('input[name="recpntMbtlnb"]').val(); dlvylcAdresDvCd = $(form).find('input[name="dlvylcAdresDvCd"]').val(); @@ -1124,6 +1138,8 @@ otrCouponSmtmUseAt: otrCouponSmtmUseAt, mngrFreeDlvyUseAt: mngrFreeDlvyUseAt, dlvylcZip: dlvylcZip, + dlvylcAreaCd: dlvylcAreaCd, + prefcd: prefcd, recpntNm: recpntNm, recpntMbtlnb: recpntMbtlnb, dlvylcAdresDvCd: dlvylcAdresDvCd, @@ -1501,6 +1517,8 @@ html += ' '; html += ' '; html += ' '; + html += ' '; + html += ' '; html += ' '; html += ' '; html += '
    '; @@ -1802,6 +1820,8 @@ $(form).find('input[name="recpntTelnb"]').val(mbtlnb); } $(form).find('input[name="dlvylcZip"]').val(data.postcode); + $(form).find('input[name="dlvylcAreaCd"]').val(data.dlvylcAreaCd); + $(form).find('input[name="prefcd"]').val(data.prefcd); $(form).find('input[name="dlvylcAdresDvCd"]').val(data.addressType); $(form).find('input[name="dlvylcLnbAdres"]').val(data.jibunAddress); $(form).find('input[name="dlvylcRnmAdres"]').val(data.roadAddress); @@ -1831,6 +1851,8 @@ $(form).find('input[name="recpntTelnb"]').val(mbtlnb); } $(form).find('input[name="dlvylcZip"]').val(data.postcode); + $(form).find('input[name="dlvylcAreaCd"]').val(data.dlvylcAreaCd); + $(form).find('input[name="prefcd"]').val(data.prefcd); $(form).find('input[name="dlvylcAdresDvCd"]').val(data.addressType); $(form).find('input[name="dlvylcLnbAdres"]').val(data.jibunAddress); $(form).find('input[name="dlvylcRnmAdres"]').val(data.roadAddress); @@ -2454,7 +2476,11 @@ /* 결제예정금액 > 결제금액 조회 */ const fn_get_setle_amt = function() { const dlvylcZip = $('input[name="dlvylcZip"]').val(); + const dlvylcAreaCd = $('input[name="dlvylcAreaCd"]').val(); + const prefcd = $('input[name="prefcd"]').val(); localStorage.setItem("dlvylcZip", dlvylcZip); + localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd); + localStorage.setItem("prefcd", prefcd); let setle = {}; @@ -2463,6 +2489,8 @@ 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(); @@ -3624,6 +3652,8 @@

    "> "> + "> + "> "> "> " > @@ -3710,6 +3740,8 @@ + +
    diff --git a/src/main/webapp/WEB-INF/views/sopmal_m/ordr/SpbkPtinR.jsp b/src/main/webapp/WEB-INF/views/sopmal_m/ordr/SpbkPtinR.jsp index 1491cd63..ecdea819 100644 --- a/src/main/webapp/WEB-INF/views/sopmal_m/ordr/SpbkPtinR.jsp +++ b/src/main/webapp/WEB-INF/views/sopmal_m/ordr/SpbkPtinR.jsp @@ -1413,7 +1413,8 @@
  • 배송비 - 0${curUnit} +<%-- 0${curUnit}--%> + Calculated at next step
  • 총 할인금액