This commit is contained in:
hyunho 2020-11-18 07:02:59 +00:00
parent e60c707fb1
commit 598ab25fa0
3 changed files with 298 additions and 176 deletions

View File

@ -659,7 +659,7 @@
<dynamic prepend="where">
<isNotNull property="payno" prepend="and">a.payno=#payno#</isNotNull>
<isNotNull property="rstatus" prepend="and">a.rstatus=#rstatus#</isNotNull>
<isNotNull property="withoutrstatus" prepend="and">a.rstatus&lt;&gt;#withoutrstatus#</isNotNull>
<isNotNull property="withoutrstatus" prepend="and">a.rstatus not in($withoutrstatus$)</isNotNull>
</dynamic>
</select>
<select id="pay.mypayrfdinfo" parameterClass="long" resultClass="payrfd">
@ -671,7 +671,7 @@
from payrfd a
<dynamic prepend="where">
<isNotNull property="payno" prepend="and">a.payno=#payno#</isNotNull>
<isNotNull property="rstatus" prepend="and">a.rstatus&lt;&gt;#rstatus#</isNotNull>
<isNotNull property="withoutrstatus" prepend="and">a.rstatus not in($withoutrstatus$)</isNotNull>
</dynamic>
order by a.cdt desc
</select>
@ -762,6 +762,8 @@
order by d.rfdno,b.rstatus,ispast,b.pino
</select>
<insert id="pay.payrfd.in" parameterClass="payrfd">
delete from payrfditem where rfdno=#rfdno#;
delete from payrfd where payno=#payno# and rfdno=#rfdno#;
insert into payrfd(payno,rtext,bankname,bankno,bankowner,isowner,rstatus,ruser,rphone,rreason,fgnor,fgnob,<include refid="sql.inc"></include>)
select distinct #payno#,#rtext#,#bankname#
,HEX(AES_ENCRYPT(#bankno#, <include refid="sql.digest"></include>))
@ -796,6 +798,7 @@
set rstatus=#rstatus#,udt=now(),uno=#uno#,uip=#uip#
where rfdno=#rfdno# and payno=#payno#
</update>
<update id="pay.unpay" parameterClass="hashtable">
update examuser a
inner join pay b on b.payno=a.payno and b.pstatus=22 and b.ptype=3 and b.ispg=1 <!--and b.paylimit &lt; now()--> and b.isunpay is null and b.userno=a.userno

View File

@ -244,11 +244,11 @@ namespace NP.FO.Controllers
}
vm.PayItems = Dao.Get<PayItem>("pay.mypayitem", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo }, { "payno", vm.payno } });
vm.PayItem = Dao.Get<PayItem>("pay.mypayitem", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo }, { "payno", vm.payno } }).FirstOrDefault();
vm.intval3 = Dao.Get<PayRfd>("pay.mypayrfd", new System.Collections.Hashtable() { { "payno", vm.Pay.payno }/*,{ "rstatus", 0}*/, { "withoutrstatus" , 4} }).Count();
vm.intval3 = Dao.Get<PayRfd>("pay.mypayrfd", new System.Collections.Hashtable() { { "payno", vm.Pay.payno }/*,{ "rstatus", 0}*/, { "withoutrstatus" , "4" } }).Count();
vm.PayRfd = null;
if (vm.intval3 > 0)
{
vm.PayRfd = Dao.Get<PayRfd>("pay.mypayrfdinfo", new System.Collections.Hashtable() {{ "payno", vm.payno }, { "rstatus", 4 } }).FirstOrDefault();
vm.PayRfd = Dao.Get<PayRfd>("pay.mypayrfdinfo", new System.Collections.Hashtable() {{ "payno", vm.payno }, { "withoutrstatus", "4" } }).FirstOrDefault();
if (vm.PayRfd != null)
{
vm.FileList = new List<File>() { };

View File

@ -1,8 +1,12 @@
@model NP.Model.VMPay
@{
bool isRfd = Model.intval3 > 0 ? true : false;
bool isRfd = (Model.intval3 > 0) ? true : false;
}
<style>
.bskTitle {
margin-top : 50px !important;
}
</style>
<h4 class="bskTitle">주문상품 정보</h4>
<p class="odrNum">결제번호 : @(Model.Pay.payno < 1000000 ? Model.Pay.payno.ToString("000000") : Model.Pay.payno.ToString())</p>
<table class="bskList">
@ -35,7 +39,9 @@
}
<tr>
<th>주문접수일</th>
@if (Convert.ToDateTime(Model.Pay.paylimit.Value.ToString("yyyy-MM-dd HH:mm")) >= Convert.ToDateTime(Model.PayItem.retime.Value.ToString("yyyy-MM-dd HH:mm")))
@if (Model.Pay.paylimit != null && Model.PayItem.retime != null)
{
if (Convert.ToDateTime(Model.Pay.paylimit.Value.ToString("yyyy-MM-dd HH:mm")) >= Convert.ToDateTime(Model.PayItem.retime.Value.ToString("yyyy-MM-dd HH:mm")))
{
<td>@Model.Pay.cdt.ToString("yyyy-MM-dd HH:mm") @(Model.Pay.ptype == 3 ? string.Format("(만료일 : {0})", (Model.PayItem.retime.Value.ToString("yyyy-MM-dd HH:mm"))) : "")</td>
}
@ -43,6 +49,11 @@
{
<td>@Model.Pay.cdt.ToString("yyyy-MM-dd HH:mm") @(Model.Pay.ptype == 3 ? string.Format("(만료일 : {0})", (Model.Pay.paylimit.Value.ToString("yyyy-MM-dd HH:mm"))) : "")</td>
}
}
else
{
<td>@Model.Pay.cdt.ToString("yyyy-MM-dd HH:mm")</td>
}
</tr>
<tr>
<th>주문상태</th>
@ -85,7 +96,7 @@
</table>
}
<ul class="bskBtn col1">
<ul class="bskBtn col1">
<li><a href="/My/Paies" class="bk">결제현황 이동</a></li>
@if (Model.Pay.ispg != 1 && Model.Pay.rstatus == 0 && Model.Pay.pstatus == 1 && Model.Pay.ptype != 1)
{
@ -104,6 +115,10 @@
{
<li><a href="#" onclick="refund()" class="bk" style="display:none">환불요청</a></li>
}
else if (Model.intval3 > 0 && Model.PayRfd != null && Model.PayRfd.rstatus == 1)
{
<li><a href="#" onclick="refund('reject')" class="bk">환불요청</a></li>
}
else
{
<li><a href="#" onclick="refund()" class="bk">환불요청</a></li>
@ -114,7 +129,7 @@
{
<li><a href="#" onclick="cancelpay()" class="bk">결제취소</a></li>
}
</ul>
</ul>
<div class="mpgPop mpgPopFull" style="display:none;" id="pop1">
<div>
@ -216,7 +231,7 @@
<a href="javascript:mpgPopClose();"></a>
</div>
<div class="mpgPopScroll">
<div class="odrPop pop1box">
<div class="odrPop pop1box" id="refundRequest">
<h4 class="bskTitle">상품선택</h4>
<table class="odrTable th150">
<tr><th>총결제액/입금일</th><td>@(Model.Pay.payamt.ToString("#,0"))원 (@(Model.Pay.payoktime == null ? "" : Model.Pay.payoktime.Value.ToString("yy-MM-dd HH:mm")))</td></tr>
@ -233,6 +248,7 @@
<input type="hidden" name="payno" id="payno" value="@Model.Pay.payno" />
<input type="hidden" name="ptype" id="ptype" value="@Model.Pay.ptype" />
<input type="hidden" name="rfdno" id="rfdno" value="@(isRfd? Model.PayRfd.rfdno.ToString() : "")" />
<div id="divCurrent">
<h4 class="bskTitle">환불정보</h4>
<table class="odrTable th150">
<tr class="pd5" style="@(Model.Pay.ptype == 1 ? "display:none;" : "")">
@ -363,9 +379,6 @@
}
}
</form>
@if (Model.intval3 > 0)
{
<ul class="odrPopBtn col2">
@ -388,7 +401,76 @@
<li><a href="#" onclick="mpgPopClose()">닫기</a></li>
</ul>
}
</div>
<div id="divReject">
<h4 class="bskTitle">환불정보</h4>
<table class="odrTable th150">
<tr class="pd5" style="@(Model.Pay.ptype == 1 ? "display:none;" : "")">
<th>환불은행</th>
<td><input type="text" name="banknameR" id="banknameR" maxlength="30" value="" /></td>
</tr>
<tr class="pd5" style="@(Model.Pay.ptype == 1 ? "display:none;" : "")">
<th>예금주</th>
<td><input type="text" name="bankownerR" id="bankownerR" maxlength="30" value="" ) /></td>
</tr>
<tr class="pd5" style="@(Model.Pay.ptype == 1 ? "display:none;" : "")">
<th>환불계좌</th>
<td><input type="text" name="banknoR" id="banknoR" maxlength="30" value="" /></td>
</tr>
<tr style="@(Model.Pay.ptype == 1 ? "display:none;" : "")">
<th>개인계좌여부</th>
<td>
<input type="hidden" name="isownerR" id="isownerR" />
<ul class="bakRadio">
<li><input type="radio" name="isownersR" id="isowner1R" value="1" checked/><label for="isowner1">예</label></li>
<li><input type="radio" name="isownersR" id="isowner0R" value="0" /><label for="isowner0">아니오</label></li>
</ul>
</td>
</tr>
<tr class="pd5">
<th>담당자</th>
<td><input type="text" name="ruser" id="ruserR" value="" /></td>
</tr>
<tr class="pd5">
<th>담당자연락처</th>
<td><input type="text" name="rphone" id="rphoneR" value="" /></td>
</tr>
<tr>
<th>환불요청사유</th>
<td>
<ul class="bakRadio">
<li><input type="radio" name="rreasonR" id="rreason1R" checked value="0" /><label for="rreason1">교육취소</label></li>
<li><input type="radio" name="rreasonR" id="rreason2R" value="1" /><label for="rreason2">과정변경</label></li>
<li><input type="radio" name="rreasonR" id="rreason3R" value="2" /><label for="rreason3">과입금</label></li>
<li><input type="radio" name="rreasonR" id="rreason4R" value="9" /><label for="rreason4">기타</label></li>
</ul>
</td>
</tr>
<tr class="pd5">
<th>메모</th>
<td>
<textarea name="rtextR" id="rtextR" rows="4" style="border:1px solid #cbcbcb; width:100%;"></textarea>
</td>
</tr>
</table>
<p class="odrpDesc" style="color:red">
※ 위 신청서를 작성한 이후, 신청서를 날인/스캔하여 통장사본과 같이 업로드를 해주셔야 합니다.
</p>
<h4 class="bskTitle">환불규정</h4>
<div>평생교육법 제28조 제4항에 따른 학습비의 반환사유가 발생할 때에는 평생교육시행령 23조의 별표 3의 반환기준에 따라 학습 비 등을 반환사유가 발생한 날부터 5일 이내에 반환하여야 한다.</div>
<br />
<ul class="odrChk"><li><input type="checkbox" id="chkrefundR" /><label for="chkrefundR">영남건설기술교육원 환불규정에 동의하고 수강취소 및 환불을 요청합니다.</label></li></ul>
<ul class="odrPopBtn col2">
<li><a href="#" class="bk" onclick="saveReject()">환불요청</a></li>
<li><a href="#" onclick="mpgPopClose()">닫기</a></li>
</ul>
</div>
</form>
</div><!-- clsPopCont -->
</div>
</div><!-- clsPopWrap -->
</div>
@ -399,7 +481,7 @@
@Html.Partial("./Partial/filescript")
}
@section scripts{
<script>
<script>
$(document).ready(function () {
});
@ -472,7 +554,15 @@
msg("이미 신청된 계산서가 존재합니다.");
}
}
function refund() {
function refund(rejectStatus) {
if (rejectStatus == "reject") {
$("#divCurrent").hide();
$("#divReject").show();
}
else {
$("#divReject").hide();
$("#divCurrent").show();
}
$('html, body').addClass('lock');
$("#pop2").fadeIn("fast", function () {
$(".pop1box").scrollTop(0);
@ -560,5 +650,34 @@
msg("개발자에게 문의하십시오.");
}
}
</script>
function saveReject() {
if ('@(Model.Pay.ptype)' != '1' && check("banknameR", null, "환불은행명을 입력해주세요.")) { }
else if ('@(Model.Pay.ptype)' != '1' && check("bankownerR", null, "예금주를 입력해주세요.")) { }
else if ('@(Model.Pay.ptype)' != '1' && check("banknoR", null, "환불계좌번호를 입력해주세요.")) { }
else if ('@(Model.Pay.ptype)' != '1' && $("input[name='isownersR']:checked").length < 1) { msg("개인계좌여부를 선택해주세요."); }
else if (check("ruserR", null, "담당자를 입력해주세요.")) { }
else if (check("rphoneR", null, "담당자연락처를 입력해주세요.")) { }
else if (check("rtextR", null, "메모를 입력해주세요.")) { }
else if ($("#chkrefundR:checked").length < 1) { msg("환불규정에 동의 후 요청해주세요."); }
else {
setv("isownerR", $("#isowner1R").prop("checked") ? 1 : 0);
confirmtoggle(true, "환불요청하시겠습니까?", "confirmReject()");
}
}
function confirmReject() {
$.when(
$("#bankname").val($("#banknameR").val()),
$("#bankowner").val($("#bankownerR").val()),
$("#bankno").val($("#banknoR").val()),
$("#isowner").val($("#isownerR").val()),
$("#ruser").val($("#ruserR").val()),
$("#rphone").val($("#rphoneR").val()),
$("#rreason").val($("#rreasonR").val()),
$("#rtext").val($("#rtextR").val()),
$("#chkrefund").val($("#chkrefundR").val()),
).done(function () {
gogo2();
});
}
</script>
}