세금계산서 작업
This commit is contained in:
parent
cebbb174d7
commit
33c85d1072
|
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 <> 1)
|
||||
where a.payno=#payno# and a.userno=#userno# and a.rstatus < 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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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("현금영수증 발행 핸드폰번호를 올바르게 입력해주세요.");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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> |
|
||||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
17
Model/CM.cs
17
Model/CM.cs
|
|
@ -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>
|
||||
/// 자격검정시험
|
||||
|
|
|
|||
|
|
@ -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; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
12
Model/Pay.cs
12
Model/Pay.cs
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue