This commit is contained in:
hyunho 2021-03-24 05:34:38 +00:00
parent 3b5f5c09f9
commit 3db398d2f1
5 changed files with 189 additions and 117 deletions

View File

@ -699,6 +699,7 @@ namespace NP.BO.Controllers
} }
return View(vm); return View(vm);
} }
public ActionResult payrefund(VMPay vm) public ActionResult payrefund(VMPay vm)
{ {
vm.Pay = Dao.Get<Pay>("cr.pay.forrfd", vm.payno).First(); vm.Pay = Dao.Get<Pay>("cr.pay.forrfd", vm.payno).First();

View File

@ -76,9 +76,9 @@
@*@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":상품구분;0:강좌;1:패키지;2:교재;3:시험;4:자격증강좌" }, { "name", "stringval11" }, { "selected", Model.stringval11 } })*@ @*@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":상품구분;0:강좌;1:패키지;2:교재;3:시험;4:자격증강좌" }, { "name", "stringval11" }, { "selected", Model.stringval11 } })*@
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":상품유형;0:온라인;1:오프라인;2:혼합" }, { "name", "stringval12" }, { "selected", Model.stringval12 } }) @Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":상품유형;0:온라인;1:오프라인;2:혼합" }, { "name", "stringval12" }, { "selected", Model.stringval12 } })
@Html.Partial("./Partial/Select", Model.CGs, new ViewDataDictionary { { "name", "stringval13" }, { "selected", Model.stringval13 }, { "df", ":-과정분류" } })&nbsp;&nbsp; @Html.Partial("./Partial/Select", Model.CGs, new ViewDataDictionary { { "name", "stringval13" }, { "selected", Model.stringval13 }, { "df", ":-과정분류" } })&nbsp;&nbsp;
@*<label><input type="checkbox" name="rebate" value="1" @(sv14.Contains(",1,") ? "checked" : "") /> 환급</label>&nbsp;&nbsp; <label><input type="checkbox" name="rebate" value="1" @(sv14.Contains(",1,") ? "checked" : "") /> 환급</label>&nbsp;&nbsp;
<label><input type="checkbox" name="rebate" value="0" @(sv14.Contains(",0,") ? "checked" : "") /> 비환급</label>&nbsp;&nbsp; <label><input type="checkbox" name="rebate" value="0" @(sv14.Contains(",0,") ? "checked" : "") /> 비환급</label>&nbsp;&nbsp;
<label><input type="checkbox" name="stringval17" value="1" @(Model.stringval17 != null ? "checked" : "") /> 단체결제</label>&nbsp;&nbsp;*@ @*<label><input type="checkbox" name="stringval17" value="1" @(Model.stringval17 != null ? "checked" : "") /> 단체결제</label>&nbsp;&nbsp;*@
</td> </td>
</tr> </tr>
<tr> <tr>
@ -127,7 +127,7 @@
<a href="#" onclick="gopay(@d.isexamready, @d.payno, @d.userno)"> <a href="#" onclick="gopay(@d.isexamready, @d.payno, @d.userno)">
@*<span class="piptype piptype@(d.ptype)">@d.ptypename</span>*@ @*<span class="piptype piptype@(d.ptype)">@d.ptypename</span>*@
@Html.Raw(d.ptype == 0 || d.ptype == 1 || d.ptype == 4 ? string.Format("&nbsp;<span class=\"cshape\">{0}</span>", d.cshapename) : "") @Html.Raw(d.ptype == 0 || d.ptype == 1 || d.ptype == 4 ? string.Format("&nbsp;<span class=\"cshape\">{0}</span>", d.cshapename) : "")
@*@Html.Raw(d.isrebate == 1 && (d.ptype == 0 || d.ptype == 1 || d.ptype == 4) ? "&nbsp;<span class=\"isrebate\">환급</span>" : "")*@ @Html.Raw(d.isrebate == 1 && (d.ptype == 0 || d.ptype == 1 || d.ptype == 4) ? "&nbsp;<span class=\"isrebate\">환급</span>" : "")
&nbsp;@d.itemname@(d.ccount > 1 ? string.Format(" 외 {0} 건", d.ccount - 1) : "") &nbsp;@d.itemname@(d.ccount > 1 ? string.Format(" 외 {0} 건", d.ccount - 1) : "")
</a> </a>
</td> </td>

View File

@ -14,18 +14,26 @@
<table class="regtable" style="margin-top: 0;"> <table class="regtable" style="margin-top: 0;">
<colgroup><col width="100" /><col width="150" /><col width="100" /><col width="200" /><col width="100" /><col /></colgroup> <colgroup><col width="100" /><col width="150" /><col width="100" /><col width="200" /><col width="100" /><col /></colgroup>
<tr> <tr>
<th>결제번호</th><td>@p.payno</td> <th>결제번호</th>
<th>주문날짜</th><td>@p.cdtymdhms</td> <td>@p.payno</td>
<th>주문자명</th><td>@p.username</td> <th>주문날짜</th>
<td>@p.cdtymdhms</td>
<th>주문자명</th>
<td>@p.username</td>
</tr> </tr>
<tr> <tr>
<th>생년월일</th><td>@(p.userpno == null || p.userpno.Length < 6?"" : p.userpno.Substring(0, 6))</td> <th>생년월일</th>
<th>일반전화</th><td>@p.telno</td> <td>@(p.userpno == null || p.userpno.Length < 6 ? "" : p.userpno.Substring(0, 6))</td>
<th>휴대폰</th><td>@p.mobile</td> <th>일반전화</th>
<td>@p.telno</td>
<th>휴대폰</th>
<td>@p.mobile</td>
</tr> </tr>
<tr> <tr>
<th>주소</th><td colspan="3">@p.post @p.address1 @p.address2</td> <th>주소</th>
<th>이메일</th><td>@p.email</td> <td colspan="3">@p.post @p.address1 @p.address2</td>
<th>이메일</th>
<td>@p.email</td>
</tr> </tr>
</table> </table>
</section> </section>
@ -34,7 +42,8 @@
<table class="regtable" style="margin-top: 0;"> <table class="regtable" style="margin-top: 0;">
<colgroup><col width="100" /><col width="150" /><col width="100" /><col width="200" /><col width="100" /><col /></colgroup> <colgroup><col width="100" /><col width="150" /><col width="100" /><col width="200" /><col width="100" /><col /></colgroup>
<tr> <tr>
<th>결제금액</th><td>@(p.pstatus == 1 ? p.payamt.ToString("#,0") : "0")원</td> <th>결제금액</th>
<td>@(p.pstatus == 1 ? p.payamt.ToString("#,0") : "0")원</td>
<th>결제방식</th> <th>결제방식</th>
<td> <td>
@if (isexamready) @if (isexamready)
@ -126,6 +135,26 @@
<div style="padding: 5px 10px; text-align: right;"><a href="#" class="btn btn-primary" onclick="save2();">저장</a></div> <div style="padding: 5px 10px; text-align: right;"><a href="#" class="btn btn-primary" onclick="save2();">저장</a></div>
} }
</section> </section>
@if (pi.FirstOrDefault().isrebate == 1 )
{
<section class="panel panel-default">
<header class="panel-heading"><strong><i class="fa fa-bars"></i> 환급내역<span class=""></span></strong></header>
<table class="regtable" style="margin-top: 0;">
<tr>
<th>은행명</th>
<td><input type="text" id="rbank" name="rbank" class="form-control" value="@pi.FirstOrDefault().rbank" /></td>
<th>계좌번호</th>
<td><input type="text" id="rbankaccnum" name="rbankaccnum" class="form-control" value="@pi.FirstOrDefault().rbankaccnum"/></td>
<th>예금주</th>
<td><input type="text" id="tbankuser" name="tbankuser" class="form-control" value="@pi.FirstOrDefault().tbankuser"/></td>
</tr>
</table>
<div style="padding: 5px 10px; text-align: right;">
<a href="#" class="btn btn-primary" onclick="rfdinfosave();">환급정보 저장</a><br />
</div>
</section>
}
@if (p.isgroup == 1 && pi.Where(w => w.ptype == 0).Count() > 1) @if (p.isgroup == 1 && pi.Where(w => w.ptype == 0).Count() > 1)
{ {
<section class="panel panel-default"> <section class="panel panel-default">
@ -188,6 +217,7 @@
<td>@(p.codetime == null ? "" : p.codetime.Value.ToString("yyyy-MM-dd HH:mm:ss"))</td> <td>@(p.codetime == null ? "" : p.codetime.Value.ToString("yyyy-MM-dd HH:mm:ss"))</td>
</tr> </tr>
</table> </table>
<input type="hidden" name="payno" value="@p.payno" /> <input type="hidden" name="payno" value="@p.payno" />
</form> </form>
<div style="padding: 5px 10px; text-align: right;"><a href="#" class="btn btn-primary" onclick="save();">저장</a></div> <div style="padding: 5px 10px; text-align: right;"><a href="#" class="btn btn-primary" onclick="save();">저장</a></div>
@ -199,9 +229,18 @@
</div> </div>
@section styles{ @section styles{
<style type="text/css"> <style type="text/css">
.regtable tr td{background-color: #fff; text-align: center;} .regtable tr td {
.regtable tr td.left{text-align: left;} background-color: #fff;
.regtable tr td.right{text-align: right;} text-align: center;
}
.regtable tr td.left {
text-align: left;
}
.regtable tr td.right {
text-align: right;
}
</style> </style>
} }
@section scriptsHeader{ @section scriptsHeader{
@ -306,5 +345,18 @@
opener.searchthis(); opener.searchthis();
} }
} }
function rfdinfosave() {
if (confirm("환급정보를 저장하시겠습니까?")) {
capp("/acommon/PayRefundInfoSave", { payno: @p.payno, rbank: $("#rbank").val(), rbankaccnum: $("#rbankaccnum").val(), tbankuser: $("#tbankuser").val() }, "rfdsave");
}
}
function rfdsave() {
if (capResult.code == 1000) {
msg("환급정보를 저장하였습니다.", null, null, null, null, "location.href='/croom/payview?payno=@p.payno'");
opener.searchthis();
}
}
</script> </script>
} }

View File

@ -757,6 +757,13 @@ namespace NP.Base.Controllers
return JsonOK(0); return JsonOK(0);
} }
[HttpPost] [HttpPost]
public JsonResult PayRefundInfoSave(PayItem d)
{
d.uno = SUserInfo.UserNo; d.uip = GetUserIP();
return JsonOK(Dao.Save("cr.payrefundinfo.up", d));
}
[HttpPost]
public JsonResult PayTaxSave(PayTax d) public JsonResult PayTaxSave(PayTax d)
{ {
d.uno = SUserInfo.UserNo; d.uip = GetUserIP(); d.uno = SUserInfo.UserNo; d.uip = GetUserIP();

View File

@ -921,7 +921,7 @@
where p.payno=#payno# where p.payno=#payno#
</select> </select>
<select id="cr.pay2" parameterClass="long" resultClass="payitem"> <select id="cr.pay2" parameterClass="long" resultClass="payitem">
select pi.payno,pi.pino,pi.itemno,pi.pcno,pi.payamt,pi.pcnt,pi.ptype select pi.payno,pi.pino,pi.itemno,pi.pcno,pi.payamt,pi.pcnt,pi.ptype,pi.isrebate
,case pi.ptype when 2 then bk.bkname when 3 then ex.exname else cm.cname end itemname ,case pi.ptype when 2 then bk.bkname when 3 then ex.exname else cm.cname end itemname
,u.username,u.userid,u.isassignuser,u.depart,u.kfcfyear ,u.username,u.userid,u.isassignuser,u.depart,u.kfcfyear
,cc.cname ccpositionname ,cc.cname ccpositionname
@ -931,6 +931,7 @@
,cm.cshape ,cm.cshape
,cg.cgname ,cg.cgname
,pcg.cgname pcgname ,pcg.cgname pcgname
,pi.rbank , CAST(AES_DECRYPT(UNHEX(pi.rbankaccnum), <include refid="sql.digest"></include>) AS char) rbankaccnum, pi.tbankuser
from payitem pi from payitem pi
inner join pay p on p.payno=pi.payno inner join pay p on p.payno=pi.payno
left outer join cm cm on pi.ptype in (0,1,4) and cm.cmno=pi.itemno left outer join cm cm on pi.ptype in (0,1,4) and cm.cmno=pi.itemno
@ -943,6 +944,17 @@
left outer join comcode cc on cc.ccode=u.ccposition left outer join comcode cc on cc.ccode=u.ccposition
where pi.payno=#payno# where pi.payno=#payno#
</select> </select>
<update id="cr.payrefundinfo.up" parameterClass="payitem">
update payitem
set <include refid="sql.up"></include>
,rbank = #rbank#
,rbankaccnum = HEX(AES_ENCRYPT(#rbankaccnum#, <include refid="sql.digest"></include>))
,tbankuser = #tbankuser#
where
payno = #payno#
</update>
<select id="cr.payforexam1" parameterClass="hashtable" resultClass="pay"> <select id="cr.payforexam1" parameterClass="hashtable" resultClass="pay">
select eu.exno payno, eu.userno,eu.cdt,case when ua.isjoin=1 then ex.infee else ex.outfee end payamt,0 ptype,0 ispg,0 isgroup,1 isexam,21 pstatus,0 rstatus,null payoktime,null pgkey,0 isdvr,0 deliamt select eu.exno payno, eu.userno,eu.cdt,case when ua.isjoin=1 then ex.infee else ex.outfee end payamt,0 ptype,0 ispg,0 isgroup,1 isexam,21 pstatus,0 rstatus,null payoktime,null pgkey,0 isdvr,0 deliamt
,u.username,u.post,u.address1,u.address2 ,u.username,u.post,u.address1,u.address2