세금계산서 작업

This commit is contained in:
lch 2021-04-28 06:36:20 +00:00
parent cebbb174d7
commit 33c85d1072
10 changed files with 273 additions and 81 deletions

View File

@ -594,6 +594,34 @@ namespace NP.Base.Controllers
rtn.Add("filelist", filelist);
return JsonBack(rtn);
}
#region ( url )
/// <summary>
/// 세금계산서 조회(팝빌 세금계산서 인쇄 url 리턴)
/// </summary>
/// <param name="payno"></param>
/// <returns></returns>
[HttpPost]
public JsonResult PayTaxinvoiceView(long payno)
{
var payTax = Dao.Get<PayTax>("cr.paytaxes", new Hashtable() { { "payno", payno } }).Where(w=> w.cno == SUserInfo.UserNo).FirstOrDefault();
if (payTax != null)
{
var result = Popbill.PopbillService.GetEPrintURL(payTax.mgtkey);
if (result.IsSuccess)
{
return JsonObj<string>(result.Data);
}
else
{
return JsonError(JSONCode.Error, result.Message, result);
}
}
else
{
return JsonBack(new JsonRtn() { code = -1 });
}
}
#endregion
}
}

View File

@ -1888,7 +1888,7 @@
,address2=#address2#
,btype =#btype#
,bkind =#bkind#
,fgnobno=#fgnobno#
<isNotNull property="fgnobno">,fgnobno=#fgnobno#</isNotNull>
,eino=#eino#
,mname=#mname#
,mphone =case when #mphone# is not null then HEX(AES_ENCRYPT(#mphone#, <include refid="sql.digest"></include>)) else mphone end

View File

@ -1508,15 +1508,15 @@
,c.tyear,c.tseq
,u.username,u.userid
,ass.asname
,e.payno,e.pstatus,e.payamt,e.ptype,e.ispg,e.pgkey,e.payoktime,e.rstatus
,e.payno,e.pstatus,e.payamt,e.ptype,e.ispg,e.pgkey,e.payoktime,e.rstatus,e.iscashrct, e.isbill
,e2.pino,e2.payamt pipayamt,e2.itemname
,f.estart,f.eend
,cc.cname studyplacename
,cc.ccode studyplace
,pt.taxno,pt.taxdate taxdate2
,pt.taxno,pt.taxdate taxdate2,pt.mgtkey,pt.iscancel
,a.cdt
,row_number() over(order by a.cdt desc) rno
,count(a.lectno) over() pagetotalcount
,count(a.lectno) over() pagetotalcount
from lect a
inner join cm b on b.cmno = a.cmno
inner join term c on c.tmno = b.tmno

View File

@ -719,20 +719,18 @@
</select>
<select id="pay.paytax.fornew" parameterClass="hashtable" resultClass="paytax">
select a.payno,a.isgroup,a.ptype,a.ispg
,ua.asname,ua.ceoname,ua.brno,ua.grno,ua.btype,ua.bkind
,am.mname manname
,CAST(AES_DECRYPT(UNHEX(am.telno), <include refid="sql.digest"></include>) AS char) telno
,CAST(AES_DECRYPT(UNHEX(am.mobile), <include refid="sql.digest"></include>) AS char) mobile
,CAST(AES_DECRYPT(UNHEX(am.email), <include refid="sql.digest"></include>) AS char) email
,ua.asname,ua.ceoname,ua.brno,ua.grno,ua.btype,ua.bkind,ua.post,ua.address1,ua.address2
,ua.mname manname
,CAST(AES_DECRYPT(UNHEX(ua.mphone), <include refid="sql.digest"></include>) AS char) telno
,CAST(AES_DECRYPT(UNHEX(ua.taxemail), <include refid="sql.digest"></include>) AS char) email
,sum(case when b.taxdate is not null then 0 else b.taxamt end) taxamtsum
,sum(b.taxamt) taxamt
from pay a
inner join users u on u.userno=a.userno
left outer join assign ua on ua.asno=u.asno
left outer join assignman am on am.asno=ua.asno and am.mtype=2 and am.jtype=0 and am.isdel=0
left outer join assign ua on ua.asno=u.asno
left outer join paytax b on b.payno=a.payno and (b.iscancel is null or b.iscancel &lt;&gt; 1)
where a.payno=#payno# and a.userno=#userno# and a.rstatus &lt; 2 and (a.pstatus=1 or a.pstatus=22)
group by a.payno,a.isgroup,ua.asname,ua.ceoname,ua.brno,ua.grno,ua.btype,ua.bkind,am.mname,am.telno,am.mobile,am.email
group by a.payno,a.isgroup,ua.asname,ua.ceoname,ua.brno,ua.grno,ua.btype,ua.bkind
</select>
<select id="pay.paytax.fornewitem" parameterClass="hashtable" resultClass="paytax">
select a.payno,a.isgroup
@ -902,13 +900,17 @@
where payno=#payno# and isunpay=1;
</update>
<select id="pay.pplogs" parameterClass="hashtable" resultClass="pplog">
select a.pplno,a.isready,a.cmno,a.cmisno,a.isrebate,a.rbankname,a.rbankacc,a.rbankowner,a.isaccommodation
,b.payno,b.pstatus
,a2.infee,a2.accommofee
from pplog a
inner join cm a2 on a2.cmno=a.cmno
left outer join pay b on b.pplno=a.pplno
<dynamic prepend="where">
select a.pplno,a.isready,a.cmno,a.cmisno,a.isrebate,a.rbankname,a.rbankacc,a.rbankowner,a.isaccommodation
,b.payno,b.pstatus
,a2.infee,a2.accommofee
,b.isbill
,a.asname, a.ceoname, a.brno, a.btype, a.bkind, a.mname, a.post, a.address1, a.address2
,CAST(AES_DECRYPT(UNHEX(a.mphone), <include refid="sql.digest"></include>) AS char) mphone
,CAST(AES_DECRYPT(UNHEX(a.taxemail), <include refid="sql.digest"></include>) AS char) taxemail
from pplog a
inner join cm a2 on a2.cmno=a.cmno
left outer join pay b on b.pplno=a.pplno
<dynamic prepend="where">
<isNotNull property="pplno" prepend="and">a.pplno=#pplno#</isNotNull>
<isNotNull property="userno" prepend="and">a.userno=#userno#</isNotNull>
</dynamic>
@ -916,6 +918,7 @@
<select id="pay.payresult" parameterClass="hashtable" resultClass="payitem">
select a.payno,a.payamt,a.ptype,a.pstatus
,b.itemno
,b.pino
from pay a
inner join payitem b on b.payno=a.payno
where a.payno=#payno# and a.userno=#userno# and a.pstatus in (1,21,22,51,55)

View File

@ -10,6 +10,8 @@ using NP.Base.Auth;
using XPayClientNet;
using System.Security.Cryptography;
using System.Text;
using System.Collections;
namespace NP.FO.Controllers
{
public class FOBaseController : NP.Base.BaseController
@ -625,7 +627,8 @@ namespace NP.FO.Controllers
{
vm.Pay.oid2 = GetConfig("PAYMENT_CLASSIFICATION") + vm.Pay.payno;
vm.PayItemResults = Dao.Get<PayItemResult>("pay.payitems", vm.Pay.payno);
vm.PayItem = Dao.Get<PayItem>("pay.payresult", new System.Collections.Hashtable() { { "payno", vm.Pay.payno }, { "userno", SUserInfo.UserNo } }).First();
vm.PayItems = Dao.Get<PayItem>("pay.payresult", new System.Collections.Hashtable() { { "payno", vm.Pay.payno }, { "userno", SUserInfo.UserNo } });
vm.PayItem = vm.PayItems.First();
vm.Pay.pstatus = vm.Pay.ptype == 1 ? 1 : 22;
vm.CM = Dao.Get<CM>("cm.cms", new System.Collections.Hashtable() { { "cmno", vm.PayItemResults.First().itemno } }).FirstOrDefault();
}
@ -644,6 +647,52 @@ namespace NP.FO.Controllers
vm.Pay.authdata += string.Format("{0:x2}", hashed[i]);
}
#endregion
#region
if (vm.Pay.ptype == 3) {
try
{
vm.PPLog = Dao.Get<PPLog>("pay.pplogs", new Hashtable() { { "pplno", vm.pplno }, { "userno", SUserInfo.UserNo } }).FirstOrDefault();
if (payno > 0 && vm.PPLog != null && vm.PPLog.pstatus == 22 && vm.PPLog.isbill == 1)
{
PayTax payTax = new PayTax();
payTax.uno = SUserInfo.UserNo;
payTax.uip = GetUserIP();
if (Dao.Get<PayTax>("cr.paytaxes", new Hashtable() { { "payno", payTax.payno }, { "cno", SUserInfo.UserNo }, { "iscancel", 0 } }).Count() == 0)
{
var assign = Dao.Get<Assign>("users.assigns2", new System.Collections.Hashtable() { { "asno", SUserInfo.ASNo }, { "orderby", "a.asname" } }).FirstOrDefault();
if(assign != null)
{
payTax.fgno = assign.fgnobno;
}
payTax.payno = payno;
payTax.pinos = string.Join(",", vm.PayItems.Select(s => s.pino));
payTax.asname = vm.PPLog.asname;
payTax.ceoname = vm.PPLog.ceoname;
payTax.asaddr = vm.PPLog.address1 + " " + vm.PPLog.address2;
payTax.brno = vm.PPLog.brno;
payTax.btype = vm.PPLog.btype;
payTax.bkind = vm.PPLog.bkind;
payTax.manname = vm.PPLog.mname;
payTax.telno = vm.PPLog.mphone;
payTax.email = vm.PPLog.taxemail;
payTax.isreceipt = 0; //0:청구, 1:영수
payTax.brno = (payTax.brno ?? "").Replace("-", "");
payTax.grno = (payTax.grno ?? "").Replace("-", "");
Dao.Insert<PayTax>("pay.paytax.in", payTax);
if (payTax.taxno > 0)
{
Dao.Save("pay.paytaxitem.in", payTax);
}
}
}
}
catch (Exception exresult)
{
SetError(exresult.StackTrace);
}
}
#endregion
}
}
}

View File

@ -99,7 +99,7 @@
</ul>
<span class="cashnot hide">)</span>
</li>
<li><input type="checkbox" name="isbill" id="pay0203"><label for="pay0203">계산서 발행</label></li>
<li><input type="radio" name="iscashrct" id="pay0203" value="2"><label for="pay0203">계산서 발행</label></li>
</ul>
</div>
<ul class="clsBtn society">
@ -110,6 +110,7 @@
@Html.HiddenFor(m => m.exno)
@Html.Hidden("pplno", Model.PPLog.pplno)
<input type="hidden" name="cashrcthp" id="cashrcthp" />
<input type="hidden" name="isbill" id="isbill">
<input type="hidden" name="items" value="@string.Format("{0}:{1}:{2}:{3}:{4}:{5}:{6}", 0, Model.CM.cmno, 1, ViewBag.SSUserNo, Model.PPLog.isrebate, 0, "")" />
<!-- Xpay 결제 start -->
@ -154,28 +155,22 @@
} else {
$(".cashnot").addClass("hide");
}
});
$("input[name='isbill']").on("change", function () {
if ($("#pay0203").prop("checked")) {
$("#pay0203").val(1);
}
else {
$("#pay0203").val(0);
}
});
});
});
function save() {
$("#cashrcthp").val("");
$("#isbill").val("");
if ($("input[name='ptype']:checked").length > 0 && $("input[name='ptype']:checked").val() == 1) {
$("#pay0201").prop("checked", true);
} else if ($("input[name='ptype']:checked").length > 0 && $("input[name='ptype']:checked").val() == 3 && $("input[name='iscashrct']:checked").length == 1 && $("input[name='iscashrct']:checked").val() == 1) {
$("#cashrcthp").val($("#hp1").val() + $("#hp2").val() + $("#hp3").val());
} else if ($("input[name='ptype']:checked").length > 0 && $("input[name='ptype']:checked").val() == 3 && $("input[name='iscashrct']:checked").length == 1 && $("input[name='iscashrct']:checked").val() == 2) {
$("#isbill").val("1");
}
if ($("input[name='ptype']:checked").length < 1) {
msg("결제방법을 선택해주세요.");
} else if ($("input[name='ptype']:checked").val() == 3 && $("input[name='iscashrct']:checked").length < 1) {
msg("현금영수증 발행여부를 선택해주세요.");
$("#pay0203").prop("checked", false);
} else if ($("input[name='ptype']:checked").val() == 3 && $("input[name='iscashrct']:checked").val() == 1 && !ismobilenumber($("#cashrcthp").val())) {
msg("현금영수증 발행 핸드폰번호를 올바르게 입력해주세요.");
}

View File

@ -20,7 +20,7 @@
</ul>
</div>
<form id="dform" method="post" action="/My/Document">
@Html.HiddenFor(w=>w.tabidx)
@Html.HiddenFor(w => w.tabidx)
</form>
<div class="lctQr">
<span class="@(Model.tabidx == 0 ? "current" : "" )" onclick="gopage(0);" id="lblAll">신규과정</span>&nbsp;|&nbsp;
@ -109,31 +109,43 @@
{
@Html.Raw("-")
}
else if (item.ptype == 1 && item.ispg == 1)
else if (item.ptype == 1 && item.ispg == 1) /*신용카드*/
{
<a href="#" onclick="javascript:viewtax(@(item.pgkey))">[영수증]</a>
<a href="#" onclick="viewtax('@(item.pgkey)')">[인쇄]</a>
}
//현금영수증안붙었음
@*else if (item.ptype == 3 && item.ispg == 1)
{
//일단대체?
<a href="#" onclick="javascript:viewtax(@(item.pgkey))">[영수증]</a>
}*@
else
else if (item.ptype == 3 && item.ispg == 1) /*가상계좌*/
{
if (item.taxno > 0)
if (item.iscashrct == 1) /*현금영수증신청*/
{
<a href="#" onclick="showtax(@(item.payno))">[@(item.taxdate2 == null ? "신청중" : "발행")]</a>
<a href="#" onclick="viewtax('@(item.pgkey)')">[인쇄]</a>
}
else
{
if (Convert.ToDateTime(Convert.ToDateTime(item.payoktime).ToString("yyyy-MM-dd")) <= Convert.ToDateTime(DateTime.Now.AddMonths(1).ToString("yyyy-MM-dd")))
if (item.taxno > 0) /*세금계산서신청*/
{
<a href="#" onclick="calltax(@(item.payno),'@(string.Format("{0}:{1}:{2}:{3}:{4}:{5}:{6}",item.payamt.ToString("#,0")+"원",item.payoktime.ToString("yy-MM-dd"),item.ptypename2,item.ispg == 1 ? "PG" : "현장결제",item.itemname,item.pipayamt.ToString("#,0")+"원",item.pino))')">[요청]</a>
if (item.iscancel != 1 && item.taxdate2 != null && !string.IsNullOrEmpty(item.mgtkey)) /*취소 and 발행일 and 세금계산서문서번호 */
{
<a href="#" onclick="viewtaxinvoice('@(item.payno)')">[인쇄]</a>
}
else if (item.iscancel == 1) /*취소시 일반영수증*/
{
<a href="#" onclick="viewtax('@(item.pgkey)')">[인쇄]</a>
}
else
{
<a href="#" onclick="showtax('@(item.payno)')">[신청중]</a>
}
}
else
{
<a href="#" onclick="msg('계산서 요청 기한이 지나 신청이 불가능합니다.'); return;">[요청]</a>
if (item.payoktime < Convert.ToDateTime(DateTime.Now.AddMonths(1).ToString("yyyy-MM-11"))) /*입금확인후 익월 10일 이내까지 요청가능*/
{
<a href="#" onclick="calltax(@(item.payno),'@(string.Format("{0}:{1}:{2}:{3}:{4}:{5}:{6}", item.payamt.ToString("#,0") + "원", item.payoktime.ToString("yy-MM-dd"), item.ptypename2, item.ispg == 1 ? "PG" : "현장결제", item.itemname, item.pipayamt.ToString("#,0") + "원", item.pino))')">[요청]</a>
}
else
{
<a href="#" onclick="viewtax('@(item.pgkey)')">[인쇄]</a>
}
}
}
}
@ -194,32 +206,32 @@ else
<div class="mpgPopTitle"><h5>계산서발행요청</h5><a href="#" onclick="javascript:mpgPopClose();"></a></div>
<div class="mpgPopScroll">
<div class="odrPop pop1box">
<h4 class="bskTitle">상품선택</h4>
<table class="odrTable th150">
<tr><th>총결제액/입금일</th><td id="mpttxt1"></td></tr>
<tr><th>결제방법</th><td id="mpttxt2"></td></tr>
<tr>
<th>신청강좌</th>
<td id="mpttxt3"></td>
</tr>
<tr>
<th>발행요청금액</th>
<td id="mpttxt4"></td>
</tr>
<tr>
<th>청구구분</th>
<td>
<input type="hidden" name="isreceipt" id="isreceipt" />
<ul class="bakRadio">
<li><input type="radio" name="isreceipts" id="isreceipt1" checked="checked" /><label for="isreceipt1">영수</label></li>
<li><input type="radio" name="isreceipts" id="isreceipt0" /><label for="isreceipts0">청구</label></li>
</ul>
</td>
</tr>
</table>
<form id="mform" method="post" enctype="multipart/form-data">
<input type="hidden" id="pinos" name="pinos" value="" />
<input type="hidden" id="mptpayno" name="payno" value="" />
<input type="hidden" id="asaddr" name="asaddr" value="" />
<h4 class="bskTitle">상품선택</h4>
<table class="odrTable th150">
<tr><th>총결제액/입금일</th><td id="mpttxt1"></td></tr>
<tr><th>결제방법</th><td id="mpttxt2"></td></tr>
<tr>
<th>신청강좌</th>
<td id="mpttxt3"></td>
</tr>
<tr>
<th>발행요청금액</th>
<td id="mpttxt4"></td>
</tr>
<tr>
<th>청구구분</th>
<td>
<ul class="bakRadio">
<li><input type="radio" name="isreceipt" id="isreceipt1" value="1" checked="checked" /><label for="isreceipt1">영수</label></li>
<li><input type="radio" name="isreceipt" id="isreceipt0" value="0" /><label for="isreceipts0">청구</label></li>
</ul>
</td>
</tr>
</table>
<h4 class="bskTitle">발행업체 정보</h4>
<table class="odrTable th150">
<tr class="pd5"><th>회사명</th><td><input type="text" name="asname" id="asname" value="" /></td></tr>
@ -255,6 +267,23 @@ else
<th>이메일주소</th>
<td><input type="text" name="email" id="email" value="" /></td>
</tr>
<tr class="pd5 postbox">
<th rowspan="3">사업장주소</th>
<td>
<input class="postno" id="post" name="post" readonly style="background-color:#ddd;float:left;width:auto;" type="text" value="">
<a href="#" onclick="getpost2('.pd5');" class="postSearch">우편번호검색</a>
</td>
</tr>
<tr class="pd5 postbox">
<td>
<input class="postadr" id="address1" name="address1" placeholder="주소입력" readonly style="background-color:#ddd;" type="text" value="">
</td>
</tr>
<tr class="pd5 postbox">
<td>
<input class="postadrsub" id="address2" name="address2" placeholder="나머지 주소입력" type="text" value="" maxlength="200">
</td>
</tr>
<tr class="pd5" id="file">
<th>사업자등록증첨부</th>
<td><input type="file" name="file1" id="file1" value="" /></td>
@ -264,10 +293,10 @@ else
<td><input type="text" name="taxinfo" id="taxinfo" value="" /></td>
</tr>
</table>
</form>
<ul class="odrPopBtn col1" id="paytaxbtn">
<li><a href="#" onclick="save()" class="bk">계산서 발행요청</a></li>
</ul>
<ul class="odrPopBtn col1" id="paytaxbtn">
<li><a href="#" onclick="save()" class="bk">계산서 발행요청</a></li>
</ul>
</form>
</div><!-- clsPopCont -->
</div>
</div><!-- clsPopWrap -->
@ -316,14 +345,27 @@ else
<th>이메일주소</th>
<td><input type="text" name="temail" id="temail" disabled value="" /></td>
</tr>
<tr class="pd5">
<th>사업장주소</th>
<td><input type="text" name="tasaddr" id="tasaddr" disabled value="" /></td>
</tr>
<tr class="pd5" id="file">
<th>사업자등록증첨부</th>
<td id="tfile"></td>
<th style="height:51px;">사업자등록증첨부</th>
<td id="tfile" ></td>
</tr>
<tr class="pd5">
<th>기재사항</th>
<td><input type="text" name="ttaxinfo" id="ttaxinfo" disabled value="" /></td>
</tr>
<tr class="pd5">
<th style="height:51px;">청구구분</th>
<td >
<ul class="bakRadio">
<li><input type="radio" name="tisreceipt" id="tisreceipt1" value="1" disabled /><label for="isreceipt1">영수</label></li>
<li><input type="radio" name="tisreceipt" id="tisreceipt0" value="0" disabled /><label for="isreceipts0">청구</label></li>
</ul>
</td>
</tr>
</table>
</div><!-- clsPopCont -->
</div>
@ -331,8 +373,27 @@ else
</div>
</div>
</div>
<div id="postlayer" class="daumpost"><a href="#" class="btn btn-xxs btn-select closedaumpost" onclick="closeDaumPostcode();">close</a></div>
@Html.Pager2((int)Model.pagenum, 10, Model.pagerowcount, Model.pagetotalcount)
@section styles{
<style>
.postSearch {
padding-bottom: 10px;
display: block;
height: 40px;
line-height: 40px;
text-align: center;
background: #878787;
color: #fff;
width: 120px;
right: 0;
top: 5px;
float:right;
}
</style>
}
@section scripts{
@Html.Partial("./Partial/ScriptPost")
<script>
function certification(lectno) {
var pop = window.open('@ViewBag.reporturl/certification.aspx?lectno='+lectno, "certprint", "width=" + (screen.availWidth) + ", height=" + (screen.availHeight) + ", scrollbars=yes, resizable=yes, status=no, location=no, left=0, top=0");
@ -359,7 +420,24 @@ else
}
}
function viewtax(pgkey) {
showReceiptByTID('@(ViewBag.mid)', pgkey, @(ViewBag.mid)+pakey+@(ViewBag.mertkey));
showReceiptByTID('@(ViewBag.mid)', pgkey, '@(ViewBag.mid)+pakey+@(ViewBag.mertkey)');
}
function viewtaxinvoice(payno) {
capp('/fcommon/paytaxinvoiceview', { payno: payno }, 'cbviewtaxinvoice');
}
function cbviewtaxinvoice() {
if (capResult.code == 1000) {
var pop = window.open(capResult.obj, "taxprint", "width=900, height=720, scrollbars=yes, resizable=yes, status=no, location=no, left=0, top=0");
if (pop == null) {
msg("팝업이 차단되어 있습니다. 차단을 해제해 주세요.");
}
} else {
if (capResult.msg != "") {
msg(capResult.msg);
} else {
msgadmin();
}
}
}
function calltax(payno, datas) {
if (datas != null) {
@ -380,7 +458,7 @@ else
msg("결제완료내역만 계산서요청하실 수 있습니다.");
}
}
function cbpaytaxget() {
function cbpaytaxget() {
var h = capResult.obj.h;
var d = capResult.obj.d;
if (h != null && d.length > 0) {
@ -393,6 +471,9 @@ else
setv("manname", h.manname);
setv("telno", h.telno);
setv("email", h.email);
setv("post", h.post);
setv("address1", h.address1);
setv("address2", h.address2);
$('html, body').addClass('lock');
$("#pop1").fadeIn("fast", function () {
$(".pop1box").scrollTop(0);
@ -412,8 +493,11 @@ else
else if (check("telno", null, "연락처를 입력해주세요.")) { }
else if (check("email", null, "이메일주소를 입력해주세요.")) { }
else if (!isemail(val("email"))) { msg("이메일 형식이 올바르지 않습니다. 다시 입력해주세요."); }
else if (check("post", null, "사업장주소를 입력해주세요.")) { }
else if (check("address1", null, "사업장주소를 입력해주세요.")) { }
else if (check("address2", null, "사업장주소를 입력해주세요.")) { }
else {
setv("isreceipt", $("#isreceipt1").prop("checked") ? 1 : 0);
setv("asaddr", $("#address1").val() + " " + $("#address2").val() )
confirmtoggle(true, "계산서발행요청 이후, 수정 및 철회는 고객문의 게시판을 이용해주십시오. 계산서 발행 요청을 완료하시겠습니까?", "gogo()");
}
}
@ -440,8 +524,10 @@ else
$("#tmanname").val("");
$("#ttelno").val("");
$("#temail").val("");
$("#tasaddr").val("");
$("#ttaxinfo").val("");
$("#tfile").html("");
$("input:radio[name='tisreceipt']").prop('checked', false);
capp('/fcommon/showpaytax', { payno: payno }, "cbshowtax");
}
function cbshowtax() {
@ -458,6 +544,7 @@ else
$("#tmanname").val(paytax.manname);
$("#ttelno").val(paytax.telno);
$("#temail").val(paytax.email);
$("#tasaddr").val(paytax.asaddr);
$("#ttaxinfo").val(paytax.taxinfo);
$('html, body').addClass('lock');
@ -468,7 +555,7 @@ else
});
$("#tfile").html(file);
}
$("input:radio[name='tisreceipt']:radio[value='" + paytax.isreceipt + "']").prop('checked', true);
$("#pop2").fadeIn("fast", function () {
$(".pop2box").scrollTop(0);
});
@ -489,7 +576,7 @@ else
@if (ViewBag.isPayTest == "1")
{
//테스트일 경우
<script language="JavaScript" src="https://pgweb.tosspayments.com:7085/WEB_SERVER/js/receipt_link.js"></script>
<script language="JavaScript" src="http://pgweb.tosspayments.com:7085/WEB_SERVER/js/receipt_link.js"></script>
}
else
{

View File

@ -1189,6 +1189,23 @@ namespace NP.Model
public int typegrade { get; set; }
public int typejob { get; set; }
public Int64 pplno { get; set; }
/// <summary>
/// 현금영수증발행여부 0:미발행,1:발행
/// </summary>
public int iscashrct { get; set; }
/// <summary>
/// 계산서발행여부 0:미발행,1:발행
/// </summary>
public int isbill { get; set; }
/// <summary>
/// 세금계산서문서번호(팝빌연동용)
/// </summary>
public string mgtkey { get; set; }
/// <summary>
/// 발행취소 0:정상, 1:취소
/// </summary>
public int iscancel { get; set; }
}
/// <summary>
/// 자격검정시험

View File

@ -56,5 +56,6 @@ namespace NP.Model
public int infee { get; set; }
public int accommofee { get; set; }
public int? isaccommodation { get; set; }
public int isbill { get; set; }
}
}

View File

@ -919,6 +919,18 @@ namespace NP.Model
/// 세금계산서 문서번호 예)2020-01-01-L00001 {년도-월(2자리)-일(2자리)-L발행순서 일련번호(5자리)}
/// </summary>
public String mgtkey { get; set; }
/// <summary>
/// 사업장우편번호
/// </summary>
public String post { get; set; }
/// <summary>
/// 사업장주소
/// </summary>
public String address1 { get; set; }
/// <summary>
/// 사업장상세주소
/// </summary>
public String address2 { get; set; }
}
[Serializable]
public class PayRfd : BaseModel