parent
93cfa94a95
commit
49ab15228b
|
|
@ -876,6 +876,7 @@ namespace NP.BO.Controllers
|
|||
ht.Add("etaxdate", string.IsNullOrEmpty(vm.stringval9) ? null : (vm.stringval9 + " 23:59:59"));
|
||||
ht.Add("pstatus", vm.stringval10);
|
||||
ht.Add("taxnos", vm.stringval11);
|
||||
ht.Add("ischeck", vm.stringval12);
|
||||
if (!string.IsNullOrEmpty(vm.stringval3))
|
||||
{
|
||||
if(vm.stringval3 == "2")
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@
|
|||
<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", ":결제상태;p21:결제대기;p22:입금대기;p1:결제완료;rf1:환불요청;r1:부분환불;r2:전액환불;p41,42,43:결제취소" }, { "name", "stringval10" }, { "selected", Model.stringval10 } })
|
||||
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":확인상태;1:확인;0:미확인" }, { "name", "stringval12" }, { "selected", Model.stringval12 } })
|
||||
@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/Button", new NP.Model.Button() { Special = "search" })
|
||||
|
|
@ -57,6 +58,8 @@
|
|||
@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>
|
||||
<a href="#" onclick="javascript:taxcheck();" class="btn btn-s-xs btn-info" style="margin-left: 5px;">일괄확인</a>
|
||||
<a href="#" onclick="javascript:taxuncheck();" class="btn btn-s-xs btn-danger" style="margin-left: 5px;">일괄확인취소</a>
|
||||
</div>
|
||||
<section class="panel panel-default">
|
||||
<div class="table-responsive" id="excel1">
|
||||
|
|
@ -78,13 +81,14 @@
|
|||
<th>발행한날</th>
|
||||
<th>영수구분</th>
|
||||
<th>상태</th>
|
||||
<th>확인상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="data" id="tbody1">
|
||||
@foreach (var d in Model.PayTaxes)
|
||||
{
|
||||
<tr>
|
||||
<td><input type="checkbox" class="autocheck" value="@d.taxno" /></td>
|
||||
<td><input type="checkbox" class="autocheck" value="@d.taxno" data-ischeck="@d.ischeck" data-status="@d.status" /></td>
|
||||
<td>@d.rno</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>
|
||||
|
|
@ -99,6 +103,7 @@
|
|||
<td>@(d.realtaxdate == null ? "" : d.realtaxdate.Value.ToString("yyyy-MM-dd"))</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.ischeck == 1 ? "" : "x")">@(d.ischeckname)</td>
|
||||
</tr>
|
||||
}
|
||||
|
||||
|
|
@ -152,5 +157,84 @@
|
|||
exceldown('mform', '/croom/tax', 'tbody1', '계산서요청');
|
||||
}
|
||||
}
|
||||
function taxcheck() {
|
||||
if ($("#tbody1 tr td input.autocheck:checked").length < 1) {
|
||||
msg("확인 처리 할 요청서가 없습니다.");
|
||||
} else {
|
||||
var taxnos = "";
|
||||
var chk = false;
|
||||
var cnt = 0;
|
||||
$.each($("#tbody1 tr td input.autocheck:checked"), function (i, c) {
|
||||
if ($(c).attr("data-ischeck") == 1) {
|
||||
chk = false;
|
||||
return false;
|
||||
} else {
|
||||
chk = true;
|
||||
cnt++;
|
||||
taxnos += "," + $(c).val();
|
||||
}
|
||||
});
|
||||
if (chk == false) {
|
||||
msg("확인 완료 건이 포함되어 있습니다. 다시 확인해주세요.");
|
||||
} else {
|
||||
if(confirm("선택한 "+cnt+"건을 확인 처리 하시겠습니까?"))
|
||||
capp("/acommon/taxcheck", { taxnos: taxnos.substr(1), ischeck: 1 }, "cbtaxcheck");
|
||||
}
|
||||
}
|
||||
}
|
||||
function cbtaxcheck() {
|
||||
if (capResult.code == 1000) {
|
||||
if (capResult.obj == -1) {
|
||||
msg("확인 처리 할 요청서가 없습니다.");
|
||||
} else if (capResult.obj == -2) {
|
||||
//우연의 확률..
|
||||
msg("확인 완료 건이 포함되어 있습니다. 다시 확인해주세요.", null, null, null, null, "submit()");
|
||||
} else {
|
||||
msg("일괄확인 처리 되었습니다.", null, null, null, null, "submit();");
|
||||
}
|
||||
} else {
|
||||
msgdev();
|
||||
}
|
||||
}
|
||||
function taxuncheck() {
|
||||
if ($("#tbody1 tr td input.autocheck:checked").length < 1) {
|
||||
msg("확인 취소 할 요청서가 없습니다.");
|
||||
} else {
|
||||
var taxnos = "";
|
||||
var chk = false;
|
||||
var cnt = 0;
|
||||
$.each($("#tbody1 tr td input.autocheck:checked"), function (i, c) {
|
||||
if ($(c).attr("data-ischeck") == 0) {
|
||||
chk = false;
|
||||
return false;
|
||||
} else {
|
||||
chk = true;
|
||||
cnt++;
|
||||
taxnos += "," + $(c).val();
|
||||
}
|
||||
});
|
||||
if (chk == false) {
|
||||
msg("미확인 건이 포함되어 있습니다. 다시 확인해주세요.");
|
||||
} else {
|
||||
if (confirm("선택한 " + cnt + "건을 일괄로 확인취소 처리 하시겠습니까?")) {
|
||||
capp("/acommon/taxcheck", { taxnos: taxnos.substr(1), ischeck: 0 }, "cbtaxuncheck");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
function cbtaxuncheck() {
|
||||
if (capResult.code == 1000) {
|
||||
if (capResult.obj == -1) {
|
||||
msg("확인 취소 할 요청서가 없습니다.");
|
||||
} else if (capResult.obj == -2) {
|
||||
//우연의 확률..
|
||||
msg("미확인 건이 포함되어 있습니다. 다시 확인해주세요.", null, null, null, null, "submit()");
|
||||
} else {
|
||||
msg("일괄확인취소 처리 되었습니다.", null, null, null, null, "submit();");
|
||||
}
|
||||
} else {
|
||||
msgdev();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
}
|
||||
|
|
@ -23,10 +23,14 @@
|
|||
<th>상품명</th>
|
||||
<th>수량<br />(인원)</th>
|
||||
<th>발행요청금액</th>
|
||||
<th>결제상태</th>
|
||||
<th>신청일</th>
|
||||
<th>계산서날짜</th>
|
||||
<th>실제날짜</th>
|
||||
<th>발행일</th>
|
||||
<th>영수구분</th>
|
||||
<th>상태</th>
|
||||
<th>확인상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="data" id="tbody1">
|
||||
|
|
@ -39,10 +43,14 @@
|
|||
<td class="left">@d.itemname @(d.ccount > 1 ? string.Format("외 {0}건", d.ccount - 1) : "")</td>
|
||||
<td>@d.pcnt</td>
|
||||
<td class="right">@d.taxamt.ToString("#,0")</td>
|
||||
<td>@d.pstatusname2</td>
|
||||
<td>@d.cdtymd</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.realtaxdate == null ? "" : d.realtaxdate.Value.ToString("yyyy-MM-dd"))</td>
|
||||
<td>@(d.isreceipt == 0 ? "청구" : "영수")</td>
|
||||
<td class="taxdate@(d.status =="미발행" ? "x" : "")">@(d.status)</td>
|
||||
<td class="taxdate@(d.ischeck == 1 ? "" : "x")">@(d.ischeckname)</td>
|
||||
</tr>
|
||||
}
|
||||
|
||||
|
|
@ -222,7 +230,7 @@
|
|||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<input type="hidden" name="taxno" value="@t.taxno" />
|
||||
<input type="hidden" id="taxno" name="taxno" value="@t.taxno" />
|
||||
<input type="hidden" name="payno" value="@t.payno" />
|
||||
<input type="hidden" name="cno" value="@t.cno" />
|
||||
<input type="hidden" name="mgtkey" value="@t.mgtkey" />
|
||||
|
|
@ -231,12 +239,19 @@
|
|||
<input type="hidden" name="fgno" value="@t.fgno" />
|
||||
<input type="hidden" name="taxdatereq" value="@t.taxdatereq" />
|
||||
<div class="text-center">
|
||||
@if(t.ischeck == 1)
|
||||
{
|
||||
<a href="#" class="btn btn-success" onclick="taxcheck(0);">관리자확인취소</a>
|
||||
}
|
||||
else
|
||||
{
|
||||
<a href="#" class="btn btn-success" onclick="taxcheck(1);">관리자확인</a>
|
||||
}
|
||||
@if (t.iscancel == null || t.iscancel.Value != 1)
|
||||
{
|
||||
|
||||
if (t.statecode == 0)
|
||||
{
|
||||
<a href="#" class="btn btn-primary" onclick="save();">저장</a>
|
||||
<a href="#" class="btn btn-primary" onclick="save();">저장</a>
|
||||
<a href="#" class="btn btn-success" onclick="tempsave();">임시저장</a>
|
||||
<a href="#" class="btn btn-success" onclick="registIssue();">계산서 즉시발행</a>
|
||||
}
|
||||
|
|
@ -416,5 +431,30 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
var txt = "";
|
||||
var txt2 = "";
|
||||
function taxcheck(ischeck) {
|
||||
txt = (ischeck == 0 ? "확인취소" : "확인");
|
||||
txt2 = (ischeck == 0 ? "미확인" : "확인완료");
|
||||
if (confirm(txt + " 처리 하시겠습니까?")) {
|
||||
capp("/acommon/taxcheck", { taxno: $("#taxno").val(), ischeck: ischeck }, "cbtaxcheck");
|
||||
}
|
||||
}
|
||||
function cbtaxcheck() {
|
||||
if (capResult.code == 1000) {
|
||||
if (capResult.obj == -1) {
|
||||
msg(txt + "할 요청서가 없습니다.");
|
||||
txt = "";
|
||||
txt2 = "";
|
||||
} else if (capResult.obj == -2) {
|
||||
//우연의 확률..
|
||||
msg(txt2 + " 건이 포함되어 있습니다. 다시 확인해주세요.", null, null, null, null, "rfs(0,'sform');");
|
||||
} else {
|
||||
msg(txt + " 처리 되었습니다.", null, null, null, null, "rfs(0,'sform');");
|
||||
}
|
||||
} else {
|
||||
msgdev();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
}
|
||||
|
|
@ -1508,5 +1508,18 @@ namespace NP.Base.Controllers
|
|||
{
|
||||
return JsonOK(Dao.Save("pay.untax", new Hashtable() { { "payno", payno }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }));
|
||||
}
|
||||
[HttpPost]
|
||||
public JsonResult taxcheck(String taxnos,int ischeck,int? taxno)
|
||||
{
|
||||
if (string.IsNullOrEmpty(taxnos) && taxno == null)
|
||||
{
|
||||
return JsonBack(new JsonRtn() { code = 1000, obj = -1 });
|
||||
}
|
||||
if(Dao.Get<int>("cr.paytax.byischeck", new Hashtable() { { "taxnos", taxnos },{"taxno",taxno }, { "ischeck",ischeck } }).FirstOrDefault() > 0)
|
||||
{
|
||||
return JsonBack(new JsonRtn() {code = 1000, obj = -2 });
|
||||
}
|
||||
return JsonOK(Dao.Save("pay.taxcheck", new Hashtable() { { "taxnos", taxnos }, { "taxno", taxno }, {"ischeck",ischeck }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1014,6 +1014,7 @@ create table paytax (
|
|||
,taxdatereq datetime
|
||||
,statecode INT(11) NULL DEFAULT NULL
|
||||
,realtaxdate datetime default null
|
||||
,ischeck tinyint(4) NOT NULL DEFAULT 0
|
||||
,primary key(taxno));
|
||||
|
||||
create table paytaxitem (
|
||||
|
|
|
|||
|
|
@ -1290,7 +1290,7 @@
|
|||
select a.*
|
||||
from (
|
||||
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.realtaxdate,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,b.ischeck
|
||||
,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
|
||||
,u.userno cno,u.username,u.userid,CAST(AES_DECRYPT(UNHEX(u.mobile), <include refid="sql.digest"></include>) AS char) mobile
|
||||
|
|
@ -1334,6 +1334,7 @@
|
|||
<isNotNull property="staxdate" prepend="and">a.taxdate >= #staxdate#</isNotNull>
|
||||
<isNotNull property="etaxdate" prepend="and">a.taxdate <= #etaxdate#</isNotNull>
|
||||
<isNotNull property="asname" prepend="and">a.asname like concat('%',#asname#,'%')</isNotNull>
|
||||
<isNotNull property="ischeck" prepend="and">a.ischeck = #ischeck#</isNotNull>
|
||||
<isNotEmpty property="taxnos" prepend="and">a.taxno in ($taxnos$)</isNotEmpty>
|
||||
</dynamic>
|
||||
group by a.taxno
|
||||
|
|
@ -1362,6 +1363,26 @@
|
|||
<include refid="sql.pagedynamic"></include>
|
||||
order by rno
|
||||
</select>
|
||||
<select id="cr.paytax.byischeck" parameterClass="hashtable" resultClass="int">
|
||||
select count(a.taxno)
|
||||
from paytax a
|
||||
<dynamic prepend="where">
|
||||
<isNotEmpty property="taxnos" prepend="and">a.taxno in ($taxnos$)</isNotEmpty>
|
||||
<isNotNull property="ischeck" prepend="and">a.ischeck = #ischeck#</isNotNull>
|
||||
<isNotNull property="taxno" prepend="and">a.taxno = #taxno#</isNotNull>
|
||||
</dynamic>
|
||||
</select>
|
||||
<update id="pay.taxcheck" parameterClass="hashtable">
|
||||
update paytax a
|
||||
set a.ischeck = #ischeck#
|
||||
,a.udt = now()
|
||||
,a.uno = #uno#
|
||||
,a.uip = #uip#
|
||||
<dynamic prepend="where">
|
||||
<isNotEmpty property="taxnos" prepend="and">a.taxno in ($taxnos$)</isNotEmpty>
|
||||
<isNotNull property="taxno" prepend="and">a.taxno = #taxno#</isNotNull>
|
||||
</dynamic>
|
||||
</update>
|
||||
<select id="cr.paytaxitem" parameterClass="long" resultClass="payitem">
|
||||
select case pi.ptype when 2 then bk.bkname when 3 then ex.exname else cm.cname end itemname,pi.payamt,pi.pcnt,pi.ptype
|
||||
,p.isgroup,p.payamt ppayamt,p.payoktime,p.ptype pptype
|
||||
|
|
|
|||
|
|
@ -1729,7 +1729,7 @@
|
|||
,f.estart,f.eend
|
||||
,cc.cname studyplacename
|
||||
,cc.ccode studyplace
|
||||
,pt.taxno,pt.taxdate taxdate2,pt.mgtkey,pt.iscancel,pt.statecode
|
||||
,pt.taxno,pt.taxdate taxdate2,pt.mgtkey,pt.iscancel,pt.statecode,pt.ischeck
|
||||
,a.cdt
|
||||
,e.cdt paycdt
|
||||
,pv.cshrpgkey
|
||||
|
|
|
|||
|
|
@ -161,6 +161,9 @@
|
|||
{
|
||||
@*<a href="#" onclick="viewtaxinvoice('@(item.payno)')">[인쇄]</a>*@
|
||||
<a href="#" onclick="msg('요청하신 메일로 확인바랍니다.<br/>감사합니다.')">[계산서발행완료]</a>
|
||||
}else if (item.iscancel != 1 && item.taxdate2 != null && item.ischeck == 1)
|
||||
{
|
||||
<a href="#" onclick="msg('요청하신 메일로 확인바랍니다.<br/>감사합니다.')">[계산서발행완료]</a>
|
||||
}
|
||||
else if (item.iscancel == 1) /*취소시 일반영수증*/
|
||||
{
|
||||
|
|
@ -168,7 +171,14 @@
|
|||
}
|
||||
else
|
||||
{
|
||||
<a href="#" onclick="showtax('@(item.payno)')">[신청중]</a>
|
||||
if(item.ischeck == 1)
|
||||
{
|
||||
<a href="#" onclick="msg('요청하신 메일로 확인바랍니다.<br/>감사합니다.')">[계산서발행완료]</a>
|
||||
}
|
||||
else
|
||||
{
|
||||
<a href="#" onclick="showtax('@(item.payno)')">[신청중]</a>
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -192,7 +202,11 @@
|
|||
{
|
||||
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 && item.taxdate2 != null && item.ischeck == 1)
|
||||
{
|
||||
<a href="#" onclick="msg('요청하신 메일로 확인바랍니다.<br/>감사합니다.')">[계산서발행완료]</a>
|
||||
}
|
||||
else if (item.iscancel == 1) /*취소시 일반영수증*/
|
||||
{
|
||||
|
|
@ -200,7 +214,14 @@
|
|||
}
|
||||
else
|
||||
{
|
||||
<a href="#" onclick="showtax('@(item.payno)')">[신청중]</a>
|
||||
if(item.ischeck == 1)
|
||||
{
|
||||
<a href="#" onclick="msg('요청하신 메일로 확인바랍니다.<br/>감사합니다.')">[계산서발행완료]</a>
|
||||
}
|
||||
else
|
||||
{
|
||||
<a href="#" onclick="showtax('@(item.payno)')">[신청중]</a>
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (item.ptype == 3 && item.ispg == 1 && item.iscashrct != 1)
|
||||
|
|
|
|||
|
|
@ -1361,6 +1361,7 @@ namespace NP.Model
|
|||
}
|
||||
|
||||
public int? cmino { get; set; }
|
||||
public int ischeck { get; set; }
|
||||
}
|
||||
/// <summary>
|
||||
/// 자격검정시험
|
||||
|
|
|
|||
|
|
@ -1171,6 +1171,14 @@ namespace NP.Model
|
|||
}
|
||||
}
|
||||
public String mobile { get; set; }
|
||||
public Int32 ischeck { get; set; }
|
||||
public String ischeckname
|
||||
{
|
||||
get
|
||||
{
|
||||
return ischeck == 0 ? "미확인" : "확인";
|
||||
}
|
||||
}
|
||||
}
|
||||
[Serializable]
|
||||
public class PayRfd : BaseModel
|
||||
|
|
|
|||
Loading…
Reference in New Issue