diff --git a/src/main/java/itn/let/mjo/pay/service/MjonPayVO.java b/src/main/java/itn/let/mjo/pay/service/MjonPayVO.java
index 3f9ced82..601e1507 100644
--- a/src/main/java/itn/let/mjo/pay/service/MjonPayVO.java
+++ b/src/main/java/itn/let/mjo/pay/service/MjonPayVO.java
@@ -256,8 +256,17 @@ public class MjonPayVO extends ComDefaultVO{
private String mrctTrdNo; // 상점거래번호
private String trdNo; // 모빌리언스 거래번호
private String spayMethod; // 간편결제 구분값
+ private String spayDiv; // 간편결제분류
+ public String getSpayDiv() {
+ return spayDiv;
+ }
+
+ public void setSpayDiv(String spayDiv) {
+ this.spayDiv = spayDiv;
+ }
+
public String getAmtSpaySum() {
return amtSpaySum;
}
diff --git a/src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java b/src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java
index f6460f56..a70ca870 100644
--- a/src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java
+++ b/src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java
@@ -1679,11 +1679,24 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP
mjonPayVO.setUserId(mjonPayVO.getUserId());
mjonPayVO.setFrstRegisterId(mjonPayVO.getUserId());
String s_paymethod = mjonPayVO.getPayMethod();
+ String spaydiv = mjonPayVO.getSpayDiv();
if(s_paymethod.equals("CARD")){
s_paymethod = "신용카드" ; // 신용카드(정상 결과코드:3001)
}else if(s_paymethod.equals("SPAY")){
- s_paymethod = "간편결제" ; // 간편결제
+ s_paymethod = "간편결제" ; // 간편결제
+ if(spaydiv.equals("NAV")){
+ s_paymethod = "간편결제(네이버페이)" ;
+ }
+ else if(spaydiv.equals("KKO")){
+ s_paymethod = "간편결제(카카오페이)" ;
+ }
+ else if(spaydiv.equals("TOS")){
+ s_paymethod = "간편결제(토스페이)" ;
+ }
+ else if(spaydiv.equals("PYC")){
+ s_paymethod = "간편결제(페이코)" ;
+ }
}else if(s_paymethod.equals("BANK")){
s_paymethod = "계좌이체" ; // 계좌이체(정상 결과코드:4000)
}else if(s_paymethod.equals("CELLPHONE")){
@@ -1704,6 +1717,70 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP
return mjonPayVO;
}
+ /**
+ * @param mjonPayVO
+ * @return
+ * @throws Exception
+ * point table 값 넣기
+ */
+ private MjonPayVO setKgmPointVO(MjonPayVO mjonPayVO) throws Exception{
+
+ String s_paymethod = mjonPayVO.getPayMethod();
+ String spaydiv = mjonPayVO.getSpayDiv();
+
+ if(s_paymethod.equals("CARD")){
+ s_paymethod = "신용카드" ; // 신용카드(정상 결과코드:3001)
+ }else if(s_paymethod.equals("SPAY")){
+ s_paymethod = "간편결제" ; // 간편결제
+ if(spaydiv.equals("NAV")){
+ s_paymethod = "간편결제(네이버페이)" ;
+ }
+ else if(spaydiv.equals("KKO")){
+ s_paymethod = "간편결제(카카오페이)" ;
+ }
+ else if(spaydiv.equals("TOS")){
+ s_paymethod = "간편결제(토스페이)" ;
+ }
+ else if(spaydiv.equals("PYC")){
+ s_paymethod = "간편결제(페이코)" ;
+ }
+ }else if(s_paymethod.equals("BANK")){
+ s_paymethod = "계좌이체" ; // 계좌이체(정상 결과코드:4000)
+ }else if(s_paymethod.equals("CELLPHONE")){
+ s_paymethod = "휴대폰" ; // 휴대폰(정상 결과코드:A000)
+ }else if(s_paymethod.equals("VBANK")){
+ s_paymethod = "가상계좌" ; // 가상계좌(정상 결과코드:4100)
+ }else if(s_paymethod.equals("SSG_BANK")){
+ s_paymethod = "SSG은행계좌" ; // SSG은행계좌(정상 결과코드:0000)
+ }else if(s_paymethod.equals("CMS_BANK")){
+ s_paymethod = "계좌간편결제" ; // 계좌간편결제(정상 결과코드:0000)
+ }else {
+ s_paymethod = "";
+ }
+
+ String s_amt = mjonPayVO.getAmt();
+ // 부가세별도 충전금액
+ s_amt = setCashVatNotIncluded(s_amt);
+
+ //포인트 테이블 변수설정
+ JoinSettingVO sysJoinSetVO = mjonMsgDataService.selectJoinSettingInfo();
+ //int point = Math.round( (Float.parseFloat(s_amt)*2/100) ) ;
+ float p_i_re_point = 0;
+ if (sysJoinSetVO != null) {
+ p_i_re_point = sysJoinSetVO.getPointPer();
+ }
+ int point = Math.round((Float.parseFloat(s_amt)*p_i_re_point/100)) ;
+
+ mjonPayVO.setPoint(point);
+
+ String pointMemo = s_paymethod; //포인트 메모
+ pointMemo = pointMemo + " " + point + " 충전" ;
+
+ mjonPayVO.setPointMemo(pointMemo);
+
+ return mjonPayVO;
+ }
+
/**
* @param mjonPayVO
* @return
@@ -2086,7 +2163,7 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP
mjonPayVO = this.setKgmCashVO(mjonPayVO);
//point 값 넣기
- mjonPayVO = this.setPointVO(mjonPayVO);
+ mjonPayVO = this.setKgmPointVO(mjonPayVO);
//PG, PGTXT, CASH , 포인트 insert / 회원정보 캐시,포인트 update
diff --git a/src/main/java/itn/let/mjo/pay/web/MjonPayController.java b/src/main/java/itn/let/mjo/pay/web/MjonPayController.java
index 19662adf..0370bd0a 100644
--- a/src/main/java/itn/let/mjo/pay/web/MjonPayController.java
+++ b/src/main/java/itn/let/mjo/pay/web/MjonPayController.java
@@ -2823,9 +2823,15 @@ public class MjonPayController {
System.out.println(mjonPayVO.getTid());
MjonPayVO resultPayVO = mjonPayService.selectPayVO(mjonPayVO);
+
+ // Step 1. 세금계산서, 현금영수증 발행
+ TaxVO taxVO2 = new TaxVO();
+ taxVO2.setMoid(mjonPayVO.getMoid());
+ taxVO2.setRcptType("3");
+ taxService.deleteReceiptInfo(taxVO2);
+ // Step 2. 간이영수증 발행
TaxVO taxVO = new TaxVO();
-
//간이영수증은 해당 팝업 호출 시 바로 완료처리함
taxVO.setMoid(mjonPayVO.getMoid());
taxVO.setRcptType("0"); // 발행유형-[PG결제-현금영수증 유형과 동일] 1:소득공제, 2:지출증빙, 3:의무발행, 9:세금계산서, 0:간이영수증
diff --git a/src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java b/src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java
index 9cec46ec..5f594156 100644
--- a/src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java
+++ b/src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java
@@ -450,9 +450,11 @@ public class MjonPayV2Controller {
String Cardname = request.getParameter("Cardname"); /* 결제 카드사명 */
String chkValue = request.getParameter("chkValue"); /* 결과값 검증 hash데이터 */
String spayMethod = request.getParameter("Paymethod"); /* 지불방법 (간편결제 시에만 응답) */
+ String MSTR = request.getParameter("MSTR"); //[2000byte 이하] 가맹점 전달 콜백변수
System.out.println("#############################################################");
System.out.println("KG MOBILIANS NotiUrl - CARD Tradeid : " + Tradeid);
+ System.out.println("KG MOBILIANS NotiUrl - CARD MSTR : " + MSTR);
System.out.println("KG MOBILIANS NotiUrl - CARD SpayMethod : " + spayMethod);
String cpChkValue = "";
@@ -594,6 +596,7 @@ public class MjonPayV2Controller {
mjonPayVO.setAmt(Prdtprice); // 결제금액
mjonPayVO.setPayMethod("SPAY"); // 결제방법
mjonPayVO.setSpayMethod(spayMethod); // 간편결제 결제방법
+ mjonPayVO.setSpayDiv(MSTR); // 간편결제분류
mjonPayVO.setPgCode("KGM"); //
mjonPayVO.setGoodsName(Prdtnm); //
@@ -993,6 +996,9 @@ public class MjonPayV2Controller {
mjonPayVO.setResultMsg(Resultmsg);
mjonPayVO.setAmt(Prdtprice); // 결제금액
mjonPayVO.setPayMethod("CELLPHONE"); // 결제방법
+ mjonPayVO.setSpayMethod(""); // 간편결제 결제방법
+ mjonPayVO.setSpayDiv(""); // 간편결제분류
+
mjonPayVO.setPgCode("KGM"); //
mjonPayVO.setGoodsName(Prdtnm); //
mjonPayVO.setPhone(""); // 모바일
@@ -1415,6 +1421,8 @@ public class MjonPayV2Controller {
mjonPayVO.setResultMsg(Resultmsg);
mjonPayVO.setAmt(Prdtprice); // 결제금액
mjonPayVO.setPayMethod("BANK"); // 결제방법
+ mjonPayVO.setSpayMethod(""); // 간편결제 결제방법
+ mjonPayVO.setSpayDiv(""); // 간편결제분류
mjonPayVO.setPgCode("KGM"); //
mjonPayVO.setGoodsName(Prdtnm); //
mjonPayVO.setPhone(""); // 모바일
diff --git a/src/main/java/itn/let/mjo/tax/service/TaxService.java b/src/main/java/itn/let/mjo/tax/service/TaxService.java
index a9519974..a1f2bae9 100644
--- a/src/main/java/itn/let/mjo/tax/service/TaxService.java
+++ b/src/main/java/itn/let/mjo/tax/service/TaxService.java
@@ -14,6 +14,8 @@ public interface TaxService {
void deleteReceipts(TaxVO taxVO) throws Exception ;
+ void deleteReceiptInfo(TaxVO taxVO) throws Exception ;
+
int updateTaxForRefundCancle(TaxVO taxVO) throws Exception;
void updateTaxReceiptFile(TaxVO taxVO) throws Exception;
diff --git a/src/main/java/itn/let/mjo/tax/service/impl/TaxServiceImpl.java b/src/main/java/itn/let/mjo/tax/service/impl/TaxServiceImpl.java
index 320c6e71..df1cb193 100644
--- a/src/main/java/itn/let/mjo/tax/service/impl/TaxServiceImpl.java
+++ b/src/main/java/itn/let/mjo/tax/service/impl/TaxServiceImpl.java
@@ -56,6 +56,11 @@ public class TaxServiceImpl extends EgovAbstractServiceImpl implements TaxServic
}
+ @Override
+ public void deleteReceiptInfo(TaxVO taxVO) throws Exception {
+ taxDAO.deleteReceipt(taxVO);
+ }
+
@Override
public int updateTaxForRefundCancle(TaxVO taxVO) throws Exception {
return taxDAO.updateTaxForRefundCancle(taxVO);
diff --git a/src/main/java/itn/let/mjo/tax/web/TaxController.java b/src/main/java/itn/let/mjo/tax/web/TaxController.java
index 1998e9c8..ced3880a 100644
--- a/src/main/java/itn/let/mjo/tax/web/TaxController.java
+++ b/src/main/java/itn/let/mjo/tax/web/TaxController.java
@@ -268,7 +268,16 @@ public class TaxController {
if("p".equals(taxVO.getDept()) && "9".equals(taxVO.getRcptType()) && "C".equals(taxVO.getTaxTrgt())) {
taxVO.setRegNo(egovCryptoUtil.encrypt(taxVO.getRegNo()));
}
+
+ // Step 1. 세금계산서, 현금영수증 발행
+ TaxVO taxVO2 = new TaxVO();
+ taxVO2.setMoid(taxVO.getMoid());
+ taxVO2.setRcptType("3");
+ taxService.deleteReceiptInfo(taxVO2);
+
+ // Step 2. 세금계산서, 현금영수증 발행
taxService.insertCashBill(taxVO);
+
redirectAttributes.addFlashAttribute("message", "발행신청 완료하였습니다.");
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/web/member/pay/PayList.do");
return redirectUrlMaker.getRedirectUrl();
diff --git a/src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml
index 4cc7a118..b0152010 100644
--- a/src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml
+++ b/src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml
@@ -632,7 +632,7 @@
BANK_CODE, BANK_NAME, RCPT_TYPE, RCPT_AUTH_CODE, RCPT_TID,
CARRIER, MOBILE, VBANK_CODE, VBANK_NAME, VBANK_NUM,
VBANK_EXP_DATE, CANCEL_RESULT_CODE, CANCEL_RESULT_MSG, CANCEL_AMT, CANCEL_DATE,
- CANCEL_TIME, CANCEL_NUM, CALC_BASE_M, AFTER_PAY_YN, SPAY_METHOD
+ CANCEL_TIME, CANCEL_NUM, CALC_BASE_M, AFTER_PAY_YN, SPAY_METHOD, SPAY_DIV
)
VALUES
(
@@ -644,7 +644,7 @@
#bankCode#, #bankName#, #rcptType#, #rcptAuthCode#, #rcptTid#,
#carrier#, #mobile#, #vbankCode#, #vbankName#, #vbankNum#,
#vbankExpDate#, #cancelResultCode#, #cancelResultMsg#, #cancelAmt#, #cancelDate#,
- #cancelTime#, #cancelNum#, #calcBaseM#, #afterPayYn#, #spayMethod#
+ #cancelTime#, #cancelNum#, #calcBaseM#, #afterPayYn#, #spayMethod#, #spayDiv#
)
diff --git a/src/main/webapp/WEB-INF/jsp/web/event/pay/EventPayView.jsp b/src/main/webapp/WEB-INF/jsp/web/event/pay/EventPayView.jsp
index ea693f0f..7be00661 100644
--- a/src/main/webapp/WEB-INF/jsp/web/event/pay/EventPayView.jsp
+++ b/src/main/webapp/WEB-INF/jsp/web/event/pay/EventPayView.jsp
@@ -353,24 +353,29 @@ function pgOpenerPopup(){
kgmPayBankRequest();
} else {
var cnDirect = "";
+ var mstr = "";
if ($currentTab == 3) {
cnDirect = "NAV:00:N"; // 네이버페이
+ mstr = "NAV";
} else if ($currentTab==4) {
cnDirect = "KKO:00:N"; // 카카오페이
+ mstr = "KKO";
} else if ($currentTab==5) {
cnDirect = "TOS:00:N"; // 토스페이
+ mstr = "TOS";
} else if ($currentTab==6) {
cnDirect = "PYC:00:N"; // 페이코
+ mstr = "PYC";
}
// KG 모빌리언스 => SPAY(간편결제)
- kgmPayCardRequest(cnDirect);
+ kgmPayCardRequest(cnDirect, mstr);
}
}
//KG 모빌리언스 => CARD
-function kgmPayCardRequest(cnDirect) {
+function kgmPayCardRequest(cnDirect, mstr) {
$.ajax({
type: "POST",
url: "/web/member/pay/kgmCardEncodeAjax.do",
@@ -394,7 +399,7 @@ function kgmPayCardRequest(cnDirect) {
form.Failurl.value = data.Failurl;
form.Userid.value = data.Userid;
form.Username.value = data.Username;
- form.MSTR.value = data.MSTR;
+ form.MSTR.value = mstr;
form.Payeremail.value = data.Payeremail;
form.Cryptyn.value = data.Cryptyn;
form.Cryptstring.value = data.Cryptstring;
diff --git a/src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp b/src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp
index 4d8254e3..66007739 100644
--- a/src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp
+++ b/src/main/webapp/WEB-INF/jsp/web/pay/PayListAllAjax.jsp
@@ -557,6 +557,24 @@ function getMberGrdChk() {
관리자 현금영수증 발행대기
+
+
+
+
+
+
+
+
+
+ ',''); return false;">간이영수증
+
+
+
+
+
+ ',''); return false;">간이영수증
+
+
diff --git a/src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp b/src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp
index 1aa9cbed..a1aef072 100644
--- a/src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp
+++ b/src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp
@@ -292,23 +292,28 @@ function pgOpenerPopup(){
kgmPayBankRequest();
} else {
var cnDirect = "";
+ var mstr = "";
if ($currentTab == 4) {
cnDirect = "NAV:00:N"; // 네이버페이
+ mstr = "NAV";
} else if ($currentTab==5) {
cnDirect = "KKO:00:N"; // 카카오페이
+ mstr = "KKO";
} else if ($currentTab==6) {
cnDirect = "TOS:00:N"; // 토스페이
+ mstr = "TOS";
} else if ($currentTab==7) {
cnDirect = "PYC:00:N"; // 페이코
+ mstr = "PYC";
}
// KG 모빌리언스 => SPAY(간편결제)
- kgmPayCardRequest(cnDirect);
+ kgmPayCardRequest(cnDirect, mstr);
}
}
//KG 모빌리언스 => CARD
-function kgmPayCardRequest(cnDirect) {
+function kgmPayCardRequest(cnDirect, mstr) {
$.ajax({
type: "POST",
url: "/web/member/pay/kgmCardEncodeAjax.do",
@@ -332,7 +337,7 @@ function kgmPayCardRequest(cnDirect) {
form.Failurl.value = data.Failurl;
form.Userid.value = data.Userid;
form.Username.value = data.Username;
- form.MSTR.value = data.MSTR;
+ form.MSTR.value = mstr;
form.Payeremail.value = data.Payeremail;
form.Cryptyn.value = data.Cryptyn;
form.Cryptstring.value = data.Cryptstring;