<기능개선>

통합테스트목록 . 548
계산서관련 추가개발
This commit is contained in:
kdh0120 2021-11-16 08:25:07 +00:00
parent ed3f96302b
commit a1f9152e2a
6 changed files with 186 additions and 50 deletions

View File

@ -856,6 +856,8 @@ namespace NP.BO.Controllers
ht.Add("cdte", string.IsNullOrEmpty(vm.stringval2) ? null : (vm.stringval2 + " 23:59:59")); ht.Add("cdte", string.IsNullOrEmpty(vm.stringval2) ? null : (vm.stringval2 + " 23:59:59"));
ht.Add("staxdate", vm.stringval8); ht.Add("staxdate", vm.stringval8);
ht.Add("etaxdate", string.IsNullOrEmpty(vm.stringval9) ? null : (vm.stringval9 + " 23:59:59")); ht.Add("etaxdate", string.IsNullOrEmpty(vm.stringval9) ? null : (vm.stringval9 + " 23:59:59"));
ht.Add("pstatus", vm.stringval10);
ht.Add("taxnos", vm.stringval11);
if (!string.IsNullOrEmpty(vm.stringval3)) if (!string.IsNullOrEmpty(vm.stringval3))
{ {
if(vm.stringval3 == "2") if(vm.stringval3 == "2")
@ -880,6 +882,16 @@ namespace NP.BO.Controllers
} }
} }
vm.PayTaxes = Dao.Get<PayTax>("cr.paytaxes", ht); vm.PayTaxes = Dao.Get<PayTax>("cr.paytaxes", ht);
if (vm.isexceldown == 1)
{
return ExportExcel(
new String[] {"결제번호","신청일","입금일","결제상태","이름","아이디","전화번호","강좌명","교육종료일","회사명","대표명","주소","사업자번호","업태","종목","담당자명","담당자연락처"
,"계산서수신이메일","청구영수","발행요청금액","발행요청일","실제날짜","발행한날","발행상태"},
new String[] {"payno","cdtymd", "payoktimeymd", "pstatusname2","username", "userid", "mobile", "itemname","eendymd", "asname", "ceoname","asaddr",
"brno", "btype","bkind", "manname", "telno", "email", "isreceiptname", "taxamt", "taxdatereqymd","taxdateymd","realtaxdateymd","status"},
vm.PayTaxes,
"계산서요청"+DateTime.Now.ToString("yy.MM.dd"), null);
}
vm.pagetotalcount = GetCount(vm.PayTaxes.FirstOrDefault()); vm.pagetotalcount = GetCount(vm.PayTaxes.FirstOrDefault());
return View(vm); return View(vm);

View File

@ -11,6 +11,7 @@
<form id="mform" method="post"> <form id="mform" method="post">
<section class="panel panel-default clearfix devsearch" data-cleartbody="tbody1"> <section class="panel panel-default clearfix devsearch" data-cleartbody="tbody1">
@Html.Partial("./Partial/SearchCaption") @Html.Partial("./Partial/SearchCaption")
@Html.HiddenFor(w=>w.stringval11)
<div class="step-content"> <div class="step-content">
<div class="step-pane active form-inline"> <div class="step-pane active form-inline">
<div class="form-groupx"> <div class="form-groupx">
@ -41,6 +42,7 @@
<th>검색어</th> <th>검색어</th>
<td class="text-left"> <td class="text-left">
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":발행상태;0:미발행;1:발행;2:발행취소" }, { "name", "stringval3" }, { "selected", Model.stringval3 } }) @Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":발행상태;0:미발행;1:발행;2:발행취소" }, { "name", "stringval3" }, { "selected", Model.stringval3 } })
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":결제상태;p21:결제대기;p22:입금대기;p1:결제완료;rf1:환불요청;r1:부분환불;r2:전액환불;p41,42,43:결제취소" }, { "name", "stringval10" }, { "selected", Model.stringval10 } })
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":전체검색;username:신청자이름;userid:신청자ID;manname:담당자이름;itemname:상품명;cname:교육과정명;paynos:결제번호;asname:회사명" }, { "name", "stringval4" }, { "selected", Model.stringval4 } }) @Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":전체검색;username:신청자이름;userid:신청자ID;manname:담당자이름;itemname:상품명;cname:교육과정명;paynos:결제번호;asname:회사명" }, { "name", "stringval4" }, { "selected", Model.stringval4 } })
@Html.Partial("./Partial/Text", Model.stringval5, Helpers.DicText(new NP.Model.TextDic() { Name = "stringval5", Value = Model.stringval5, PH = "", CssClass = "ff" })) @Html.Partial("./Partial/Text", Model.stringval5, Helpers.DicText(new NP.Model.TextDic() { Name = "stringval5", Value = Model.stringval5, PH = "", CssClass = "ff" }))
@Html.Partial("./Partial/Button", new NP.Model.Button() { Special = "search" }) @Html.Partial("./Partial/Button", new NP.Model.Button() { Special = "search" })
@ -51,11 +53,17 @@
</div> </div>
</div> </div>
</section> </section>
<div style="padding:5px 10px; text-align:right;">
@Html.Partial("./Partial/pagerow", new ViewDataDictionary { { "tbodyid", "tbody1" }, { "searchmethod", "submit()" }, { "pagesize", Model.pagerowcount } })
@*<a href="#" onclick="javascript:exceldown('mform', '/croom/tax', 'tbody1', '계산서요청');" class="btn btn-s-xs btn-success" style="margin-left: 5px;">엑셀다운로드</a>*@
<a href="#" onclick="javascript:callexcel();" class="btn btn-s-xs btn-success" style="margin-left: 5px;">엑셀다운로드</a>
</div>
<section class="panel panel-default"> <section class="panel panel-default">
<div class="table-responsive" id="excel1"> <div class="table-responsive" id="excel1">
<table class="table table-striped b-t b-light no-odd"> <table class="table table-striped b-t b-light no-odd">
<thead> <thead>
<tr> <tr>
<th><input type="checkbox" onclick="javascript: checkall('excel1', this);" /></th>
<th width="100">No</th> <th width="100">No</th>
<th>결제번호</th> <th>결제번호</th>
<th>회사명</th> <th>회사명</th>
@ -63,9 +71,11 @@
<th>상품명</th> <th>상품명</th>
<th>수량<br />(인원)</th> <th>수량<br />(인원)</th>
<th>발행요청금액</th> <th>발행요청금액</th>
<th>결제상태</th>
<th>신청일</th> <th>신청일</th>
<th>계산서날짜</th> <th>계산서날짜</th>
<th>실제날짜</th> <th>실제날짜</th>
<th>발행한날</th>
<th>영수구분</th> <th>영수구분</th>
<th>상태</th> <th>상태</th>
</tr> </tr>
@ -74,6 +84,7 @@
@foreach (var d in Model.PayTaxes) @foreach (var d in Model.PayTaxes)
{ {
<tr> <tr>
<td><input type="checkbox" class="autocheck" value="@d.taxno" /></td>
<td>@d.rno</td> <td>@d.rno</td>
<td>@d.payno</td> <td>@d.payno</td>
<td class="left">@Html.Raw(string.Format("<span class=\"isjoin{0}\">{1}</span> {2}", d.isjoin, d.isjoin == 1 ? "정" : "비", d.asname))</td> <td class="left">@Html.Raw(string.Format("<span class=\"isjoin{0}\">{1}</span> {2}", d.isjoin, d.isjoin == 1 ? "정" : "비", d.asname))</td>
@ -81,11 +92,13 @@
<td class="link"><a href="#" onclick="gotax(@d.taxno)">@d.itemname @(d.ccount > 1 ? string.Format("외 {0}건", d.ccount - 1) : "")</a></td> <td class="link"><a href="#" onclick="gotax(@d.taxno)">@d.itemname @(d.ccount > 1 ? string.Format("외 {0}건", d.ccount - 1) : "")</a></td>
<td>@d.pcnt</td> <td>@d.pcnt</td>
<td class="right">@d.taxamt.ToString("#,0")</td> <td class="right">@d.taxamt.ToString("#,0")</td>
<td>@d.pstatusname2</td>
<td>@d.cdtymd</td> <td>@d.cdtymd</td>
<td>@(d.taxdatereq == null ? "" : d.taxdatereq.Value.ToString("yyyy-MM-dd"))</td> <td>@(d.taxdatereq == null ? "" : d.taxdatereq.Value.ToString("yyyy-MM-dd"))</td>
<td>@(d.taxdate == null ? "" : d.taxdate.Value.ToString("yyyy-MM-dd"))</td> <td>@(d.taxdate == null ? "" : d.taxdate.Value.ToString("yyyy-MM-dd"))</td>
<td>@(d.realtaxdate == null ? "" : d.realtaxdate.Value.ToString("yyyy-MM-dd"))</td>
<td>@(d.isreceipt == 0 ? "청구" : "영수")</td> <td>@(d.isreceipt == 0 ? "청구" : "영수")</td>
<td class="taxdate@(d.status =="미발행" ? "x" :"")" @(!string.IsNullOrEmpty(d.mgtkey) && d.statecode == 0 ? "style=color:blue;" : "" ) >@(d.status)</td> <td class="taxdate@(d.status =="미발행" ? "x" :"")" @(!string.IsNullOrEmpty(d.mgtkey) && d.statecode == 0 ? "style=color:blue;" : "" )>@(d.status)</td>
</tr> </tr>
} }
@ -126,5 +139,18 @@
function gotab() { function gotab() {
$("#dform").attr("action", "/croom/taxsmart").submit(); $("#dform").attr("action", "/croom/taxsmart").submit();
} }
function callexcel() {
$("#stringval11").val("")
if ($("#tbody1 tr td input.autocheck:checked").length < 1) {
msg("엑셀 다운로드 할 건이 선택되지 않았습니다.");
} else {
var taxnos = "";
$.each($("#tbody1 tr td input.autocheck:checked"), function (i, c) {
taxnos += "," + $(c).val();
});
$("#stringval11").val(taxnos.substr(1));
exceldown('mform', '/croom/tax', 'tbody1', '계산서요청');
}
}
</script> </script>
} }

View File

@ -1012,7 +1012,8 @@ create table paytax (
,cdt datetime not null,cno bigint not NULL,udt datetime not null,uno bigint not NULL,uip varchar(50) not NULL ,cdt datetime not null,cno bigint not NULL,udt datetime not null,uno bigint not NULL,uip varchar(50) not NULL
,mgtkey varchar (24) ,mgtkey varchar (24)
,taxdatereq datetime ,taxdatereq datetime
,statecode INT(11) NULL DEFAULT NULL, ,statecode INT(11) NULL DEFAULT NULL
,realtaxdate datetime default null
,primary key(taxno)); ,primary key(taxno));
create table paytaxitem ( create table paytaxitem (

View File

@ -1289,54 +1289,75 @@
<select id="cr.paytaxes" parameterClass="hashtable" resultClass="paytax"> <select id="cr.paytaxes" parameterClass="hashtable" resultClass="paytax">
select a.* select a.*
from ( from (
select a.taxno,ifnull(a.cname, ifnull(a.exname, a.bkname)) itemname,a.asaddr,a.pcnt,a.ccount,b.iscancel select a.taxno,ifnull(a.cname, ifnull(a.exname, a.bkname)) itemname,a.asaddr,a.pcnt,a.ccount,b.iscancel
,b.payno,b.asname,b.taxamt,b.cdt,b.taxdate,b.ceoname,b.brno,b.grno,b.btype,b.bkind,b.manname,b.fgno,b.taxinfo,b.isreceipt,b.mgtkey,b.taxdatereq,b.statecode ,b.payno,b.asname,b.taxamt,b.cdt,b.taxdate,b.ceoname,b.brno,b.grno,b.btype,b.bkind,b.manname,b.fgno,b.taxinfo,b.isreceipt,b.mgtkey,b.taxdatereq,b.realtaxdate,b.statecode
,CAST(AES_DECRYPT(UNHEX(b.telno), <include refid="sql.digest"></include>) AS char) telno ,CAST(AES_DECRYPT(UNHEX(b.telno), <include refid="sql.digest"></include>) AS char) telno
,CAST(AES_DECRYPT(UNHEX(b.email), <include refid="sql.digest"></include>) AS char) email ,CAST(AES_DECRYPT(UNHEX(b.email), <include refid="sql.digest"></include>) AS char) email
,u.userno cno,u.username,u.userid ,u.userno cno,u.username,u.userid,CAST(AES_DECRYPT(UNHEX(u.mobile), <include refid="sql.digest"></include>) AS char) mobile
,ua.isjoin ,p.payoktime,p.pstatus,p.rstatus,p.payamt payamt2,p.refundamt,p.isunpay
,row_number() over(order by b.cdt desc) rno ,cmis.eend
,count(a.taxno) over() pagetotalcount ,ua.isjoin
from ( ,case when p.rstatus=0 and pr.rstatus = 0 and pri.rfdno is not null then 1 else 0 end isrefundcall
select a.taxno,max(cm.cname) cname,a.asaddr,max(bk.bkname) bkname,max(ex.exname) exname,sum(pi.pcnt) pcnt,count(pi.pino) ccount ,row_number() over(order by b.cdt desc) rno
from paytax a ,count(a.taxno) over() pagetotalcount
inner join paytaxitem b on b.taxno=a.taxno from (
inner join payitem pi on pi.pino=b.pino select a.taxno,max(cm.cname) cname,a.asaddr,max(bk.bkname) bkname,max(ex.exname) exname,sum(pi.pcnt) pcnt,count(pi.pino) ccount
left outer join cm cm on pi.ptype in (0,1,4) and cm.cmno=pi.itemno from paytax a
inner join cm cm2 on cm2.cmno=cm.pcmno inner join paytaxitem b on b.taxno=a.taxno
left outer join book bk on pi.ptype=2 and bk.bkno=pi.itemno inner join payitem pi on pi.pino=b.pino
left outer join exam ex on pi.ptype=3 and ex.exno=pi.itemno left outer join cm cm on pi.ptype in (0,1,4) and cm.cmno=pi.itemno
inner join users u on u.userno=a.cno inner join cm cm2 on cm2.cmno=cm.pcmno
<dynamic prepend="where"> left outer join book bk on pi.ptype=2 and bk.bkno=pi.itemno
<isNotNull property="payno" prepend="and">a.payno = #payno#</isNotNull> left outer join exam ex on pi.ptype=3 and ex.exno=pi.itemno
<isNotNull property="cno" prepend="and">a.cno = #cno#</isNotNull> inner join users u on u.userno=a.cno
<isNotNull property="nottaxno" prepend="and">a.taxno &lt;&gt; #nottaxno#</isNotNull> <dynamic prepend="where">
<isNotNull property="taxno" prepend="and">a.taxno=#taxno#</isNotNull> <isNotNull property="payno" prepend="and">a.payno = #payno#</isNotNull>
<isNotNull property="iscancel" prepend="and">ifnull(a.iscancel,0)=#iscancel#</isNotNull> <isNotNull property="cno" prepend="and">a.cno = #cno#</isNotNull>
<isNotNull property="cdts" prepend="and">a.cdt &gt;= #cdts#</isNotNull> <isNotNull property="nottaxno" prepend="and">a.taxno &lt;&gt; #nottaxno#</isNotNull>
<isNotNull property="cdte" prepend="and">a.cdt &lt;= #cdte#</isNotNull> <isNotNull property="taxno" prepend="and">a.taxno=#taxno#</isNotNull>
<isNotNull property="tstatus0" prepend="and">ifnull(a.statecode,0) &lt; 300</isNotNull> <isNotNull property="iscancel" prepend="and">ifnull(a.iscancel,0)=#iscancel#</isNotNull>
<isNotNull property="tstatus1" prepend="and">a.statecode &gt;= 300</isNotNull> <isNotNull property="cdts" prepend="and">a.cdt &gt;= #cdts#</isNotNull>
<isNotNull property="username" prepend="and">u.username like concat('%',#username#,'%')</isNotNull> <isNotNull property="cdte" prepend="and">a.cdt &lt;= #cdte#</isNotNull>
<isNotNull property="userid" prepend="and">u.userid like concat('%',#userid#,'%')</isNotNull> <isNotNull property="tstatus0" prepend="and">ifnull(a.statecode,0) &lt; 300</isNotNull>
<isNotNull property="manname" prepend="and">a.manname like concat('%',#manname#,'%')</isNotNull> <isNotNull property="tstatus1" prepend="and">a.statecode &gt;= 300</isNotNull>
<isNotNull property="itemname" prepend="and">(cm.cname like concat('%', #itemname#, '%') or bk.bkname like concat('%', #itemname#, '%') or ex.exname like concat('%', #itemname#, '%'))</isNotNull> <isNotNull property="username" prepend="and">u.username like concat('%',#username#,'%')</isNotNull>
<isNotNull property="cname" prepend="and">cm2.cname like concat('%', #cname#, '%')</isNotNull> <isNotNull property="userid" prepend="and">u.userid like concat('%',#userid#,'%')</isNotNull>
<isNotNull property="paynos" prepend="and">a.payno like concat('%', #paynos#, '%')</isNotNull> <isNotNull property="manname" prepend="and">a.manname like concat('%',#manname#,'%')</isNotNull>
<isNotNull property="nimp" prepend="and"> <isNotNull property="itemname" prepend="and">(cm.cname like concat('%', #itemname#, '%') or bk.bkname like concat('%', #itemname#, '%') or ex.exname like concat('%', #itemname#, '%'))</isNotNull>
(u.username=#nimp# or u.userid=#nimp# or a.manname=#nimp# or cm.cname like concat('%', #nimp#, '%') or bk.bkname like concat('%', #nimp#, '%') or ex.exname like concat('%', #nimp#, '%') or cm2.cname like concat('%', #nimp#, '%')) <isNotNull property="cname" prepend="and">cm2.cname like concat('%', #cname#, '%')</isNotNull>
</isNotNull> <isNotNull property="paynos" prepend="and">a.payno like concat('%', #paynos#, '%')</isNotNull>
<isNotNull property="staxdatereq" prepend="and">a.taxdatereq &gt;= #staxdatereq#</isNotNull> <isNotNull property="nimp" prepend="and">
<isNotNull property="etaxdatereq" prepend="and">a.taxdatereq &lt;= #etaxdatereq#</isNotNull> (u.username=#nimp# or u.userid=#nimp# or a.manname=#nimp# or cm.cname like concat('%', #nimp#, '%') or bk.bkname like concat('%', #nimp#, '%') or ex.exname like concat('%', #nimp#, '%') or cm2.cname like concat('%', #nimp#, '%'))
<isNotNull property="staxdate" prepend="and">a.taxdate &gt;= #staxdate#</isNotNull> </isNotNull>
<isNotNull property="etaxdate" prepend="and">a.taxdate &lt;= #etaxdate#</isNotNull> <isNotNull property="staxdatereq" prepend="and">a.taxdatereq &gt;= #staxdatereq#</isNotNull>
<isNotNull property="asname" prepend="and">a.asname like concat('%',#asname#,'%')</isNotNull> <isNotNull property="etaxdatereq" prepend="and">a.taxdatereq &lt;= #etaxdatereq#</isNotNull>
</dynamic> <isNotNull property="staxdate" prepend="and">a.taxdate &gt;= #staxdate#</isNotNull>
group by a.taxno <isNotNull property="etaxdate" prepend="and">a.taxdate &lt;= #etaxdate#</isNotNull>
) a <isNotNull property="asname" prepend="and">a.asname like concat('%',#asname#,'%')</isNotNull>
<isNotEmpty property="taxnos" prepend="and">a.taxno in ($taxnos$)</isNotEmpty>
</dynamic>
group by a.taxno
) a
inner join paytax b on b.taxno=a.taxno inner join paytax b on b.taxno=a.taxno
inner join users u on u.userno=b.cno inner join users u on u.userno=b.cno
inner join pay p on p.payno = b.payno
left outer join pplog ppl on ppl.pplno = p.pplno
left outer join cminningscd cmis on cmis.cmisno = ppl.cmisno
left outer join payitem pi on pi.payno = p.payno
left outer join payrfditem pri on pri.pino = pi.pino
left outer join payrfd pr on pr.rfdno = pri.rfdno
left outer join assign ua on ua.asno=u.asno left outer join assign ua on ua.asno=u.asno
<dynamic prepend="where">
<isNotEmpty property="pstatus" prepend="and">
<isEqual property="pstatus" compareValue="p21">(p.pstatus in (21) and pr.rstatus is null and p.rstatus = 0)</isEqual>
<isEqual property="pstatus" compareValue="p22">(p.pstatus in (22) and pr.rstatus is null and p.rstatus = 0)</isEqual>
<isEqual property="pstatus" compareValue="p1">(p.pstatus in (1) and pr.rstatus is null and p.rstatus = 0)</isEqual>
<isEqual property="pstatus" compareValue="rf1">(pr.rfdno is not null and pr.rstatus = 0)</isEqual>
<isEqual property="pstatus" compareValue="r1">(pi.rstatus=1 and p.payamt>p.refundamt)</isEqual>
<isEqual property="pstatus" compareValue="r2">(p.rstatus > 0 and p.payamt=p.refundamt)</isEqual>
<isEqual property="pstatus" compareValue="p41,42,43">(p.pstatus in (41,42,43) and pr.rstatus is null and p.rstatus = 0)</isEqual>
</isNotEmpty>
</dynamic>
) a ) a
<include refid="sql.pagedynamic"></include> <include refid="sql.pagedynamic"></include>
order by rno order by rno
@ -1401,6 +1422,7 @@
,mgtkey=#mgtkey# ,mgtkey=#mgtkey#
,taxdatereq=#taxdatereq# ,taxdatereq=#taxdatereq#
,statecode=#statecode# ,statecode=#statecode#
,realtaxdate=case when #statecode#=300 and realtaxdate is null then now() else realtaxdate end
where taxno=#taxno# where taxno=#taxno#
</update> </update>
<select id="cr.documnetspasts" parameterClass="hashtable" resultClass="document"> <select id="cr.documnetspasts" parameterClass="hashtable" resultClass="document">

View File

@ -159,7 +159,8 @@
{ {
if (item.iscancel != 1 && item.taxdate2 != null && !string.IsNullOrEmpty(item.mgtkey) && item.statecode >= 300) /*취소 and 발행일 and 세금계산서문서번호 */ if (item.iscancel != 1 && item.taxdate2 != null && !string.IsNullOrEmpty(item.mgtkey) && item.statecode >= 300) /*취소 and 발행일 and 세금계산서문서번호 */
{ {
<a href="#" onclick="viewtaxinvoice('@(item.payno)')">[인쇄]</a> @*<a href="#" onclick="viewtaxinvoice('@(item.payno)')">[인쇄]</a>*@
<a href="#" onclick="msg('요청하신 메일로 확인바랍니다.<br/>감사합니다.')">[계산서발행완료]</a>
} }
else if (item.iscancel == 1) /*취소시 일반영수증*/ else if (item.iscancel == 1) /*취소시 일반영수증*/
{ {

View File

@ -996,6 +996,21 @@ namespace NP.Model
/// 발행일 관리자만입력 /// 발행일 관리자만입력
/// </summary> /// </summary>
public DateTime? taxdate {get;set;} public DateTime? taxdate {get;set;}
public String taxdateymd
{
get
{
return taxdate == null ? "" : taxdate.Value.ToString("yyyy-MM-dd");
}
}
public DateTime? realtaxdate { get; set; }
public String realtaxdateymd
{
get
{
return realtaxdate == null ? "" : realtaxdate.Value.ToString("yyyy-MM-dd");
}
}
/// <summary> /// <summary>
/// fkpaytaxfg 첨부파일 /// fkpaytaxfg 첨부파일
/// </summary> /// </summary>
@ -1009,6 +1024,13 @@ namespace NP.Model
/// </summary> /// </summary>
public String asaddr { get; set; } public String asaddr { get; set; }
public int isreceipt { get; set; } public int isreceipt { get; set; }
public String isreceiptname
{
get
{
return isreceipt == 0 ? "청구" : "영수";
}
}
public Int64 pino { get; set; } public Int64 pino { get; set; }
public String itemname { get; set; } public String itemname { get; set; }
public String payamt { get; set; } public String payamt { get; set; }
@ -1041,6 +1063,13 @@ namespace NP.Model
/// 계산서날짜 /// 계산서날짜
/// </summary> /// </summary>
public DateTime? taxdatereq { get; set; } public DateTime? taxdatereq { get; set; }
public String taxdatereqymd
{
get
{
return taxdatereq == null ? "" : taxdatereq.Value.ToString("yyyy-MM-dd");
}
}
/// <summary> /// <summary>
/// 세금계산서 상태코드 /// 세금계산서 상태코드
/// </summary> /// </summary>
@ -1097,6 +1126,51 @@ namespace NP.Model
return returnString; return returnString;
} }
} }
public int isrefundcall { get; set; }
/// <summary>
/// 결제상태 0:결제시도,1:결제완료,21:결제대기(승인심사),22:입금대기,41:결제취소,42: 가상계좌입금대기만료, 43: 가상계좌입금전취소,51:자격증강좌심사중
/// </summary>
public int pstatus { get; set; }
/// <summary>
/// 결제액
/// </summary>
public int payamt2 { get; set; }
/// <summary>
/// 환불액
/// </summary>
public int refundamt { get; set; }
public int isunpay { get; set; }
public String pstatusname
{
get
{
return rstatus == 2 ? "전액환불" : rstatus == 1 ? "부분환불" : isrefundcall == 1 ? "환불요청" : pstatus == 1 ? "결제완료" : pstatus == 21 ? "결제대기" : pstatus == 22 ? "입금대기" : "결제취소";
}
}
public String pstatusname2
{
get
{
return rstatus == 1 && payamt2 <= refundamt ? "전액환불" : (pstatusname + (isunpay == 1 ? "(미수)" : isunpay == 2 ? "(미수입금)" : ""));
}
}
public DateTime? payoktime { get; set; }
public String payoktimeymd
{
get
{
return payoktime == null ? "-" : payoktime.Value.ToString("yyyy-MM-dd");
}
}
public DateTime? eend { get; set; }
public String eendymd
{
get
{
return eend == null ? "-" : eend.Value.ToString("yyyy-MM-dd");
}
}
public String mobile { get; set; }
} }
[Serializable] [Serializable]
public class PayRfd : BaseModel public class PayRfd : BaseModel