From 358234f00de2b23f27431aab0666629271bfbe19 Mon Sep 17 00:00:00 2001 From: lch Date: Fri, 9 Jul 2021 00:53:57 +0000 Subject: [PATCH] =?UTF-8?q?+=20=EC=82=AC=EC=9A=A9=EC=9E=90=20=20=20=20=20-?= =?UTF-8?q?=20=ED=98=84=EA=B8=88=EC=98=81=EC=88=98=EC=A6=9D/=EA=B3=84?= =?UTF-8?q?=EC=82=B0=EC=84=9C=20=EB=B0=9C=ED=96=89=EC=97=AC=EB=B6=80?= =?UTF-8?q?=EC=97=90=EC=84=9C=20=EA=B3=84=EC=82=B0=EC=84=9C=20=EB=B0=9C?= =?UTF-8?q?=ED=96=89=20=EC=84=A0=ED=83=9D=20=EC=8B=9C=20=EC=B6=94=EA=B0=80?= =?UTF-8?q?=EC=9E=85=EB=A0=A5=20=ED=95=84=EB=93=9C=20=EC=B6=94=EA=B0=80=20?= =?UTF-8?q?=20=20=20=201.=20=EC=98=81=EC=88=98/=EC=B2=AD=EA=B5=AC=20?= =?UTF-8?q?=EA=B5=AC=EB=B6=84=20=EC=84=A0=ED=83=9D=20=20=20=20=202.=20?= =?UTF-8?q?=EB=B0=9C=ED=96=89=EC=9A=94=EC=B2=AD=EC=9D=BC=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20+=20=EA=B4=80=EB=A6=AC=EC=9E=90=20=20=20=20=201.=20?= =?UTF-8?q?=EB=B0=9C=ED=96=89=EC=9D=BC=20=EC=98=86=EC=97=90=20'=EB=B0=9C?= =?UTF-8?q?=ED=96=89=EC=9A=94=EC=B2=AD=EC=9D=BC'=20=ED=95=84=EB=93=9C=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20=20=20=20=20-=20=EC=82=AC=EC=9A=A9?= =?UTF-8?q?=EC=9E=90=EA=B0=80=20=EC=9E=85=EB=A0=A5=ED=95=9C=20=EB=B0=9C?= =?UTF-8?q?=ED=96=89=EC=9A=94=EC=B2=AD=EC=9D=BC=20=EC=B6=9C=EB=A0=A5=20=20?= =?UTF-8?q?=20=20=202.=20=EB=AC=B8=EA=B5=AC=EB=B3=80=EA=B2=BD=20=EC=9A=94?= =?UTF-8?q?=EC=B2=AD=EC=9D=BC->=EC=8B=A0=EC=B2=AD=EC=9D=BC=20(=EA=B2=80?= =?UTF-8?q?=EC=83=89=EB=B6=80=EB=B6=84/=EB=AA=A9=EB=A1=9D=20=ED=91=9C=20?= =?UTF-8?q?=EB=B6=80=EB=B6=84)=20=20=20=20=203.=20=EA=B2=80=EC=83=89?= =?UTF-8?q?=EC=97=90=20=EC=9A=94=EC=B2=AD=EC=9D=BC(=EC=8B=A0=EC=B2=AD?= =?UTF-8?q?=EC=9D=BC)=20=EC=9C=84=EC=97=90=20'=EB=B0=9C=ED=96=89=EC=9A=94?= =?UTF-8?q?=EC=B2=AD=EC=9D=BC'=20=EC=B6=94=EA=B0=80=20=20=20=20=20-=20?= =?UTF-8?q?=EA=B8=B0=EB=B3=B8=EA=B0=92=20'=EC=A1=B0=ED=9A=8C=EB=8B=AC'=20?= =?UTF-8?q?=20=20=20=204.=20=EA=B8=B0=EC=A1=B4=20=EC=9A=94=EC=B2=AD?= =?UTF-8?q?=EC=9D=BC(=EC=8B=A0=EC=B2=AD=EC=9D=BC)=20=EA=B8=B0=EB=B3=B8?= =?UTF-8?q?=EA=B0=92=20=EC=A0=9C=EA=B1=B0"=20=20=20=20=205.=20=EC=9E=85?= =?UTF-8?q?=EA=B8=88=EC=A0=84=EC=97=90=EB=8F=84=20=EA=B3=84=EC=82=B0?= =?UTF-8?q?=EC=84=9C=20=EB=B0=9C=ED=96=89=EC=9D=B4=20=EA=B0=80=EB=8A=A5?= =?UTF-8?q?=ED=95=98=EB=8F=84=EB=A1=9D=20=EB=B3=80=EA=B2=BD"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BO/Controllers/croomController.cs | 21 ++++++-- BO/Views/croom/tax.cshtml | 18 +++++-- BO/Views/croom/taxdetail.cshtml | 66 +++++++++++++++--------- BO/Web.config | 4 +- Base/Controller/ACommonCRoom.cs | 81 ++++++++++++++++++++---------- Base/Controller/FCommonPay.cs | 5 ++ Base/Popbill/PopbillService.cs | 42 +++++++++++++--- Dao/MyBatis/Maps/CRoom.xml | 16 +++--- Dao/MyBatis/Maps/Lect.xml | 2 +- Dao/MyBatis/Maps/Pay.xml | 14 ++++-- FO/Controllers/FOBaseController.cs | 5 +- FO/Views/Course/ApplyPay.cshtml | 21 ++++++-- FO/Views/My/Document.cshtml | 20 ++++++-- Model/CM.cs | 4 ++ Model/PPLog.cs | 8 +++ Model/Pay.cs | 60 ++++++++++++++++++++++ Model/VMPay.cs | 8 +++ 17 files changed, 303 insertions(+), 92 deletions(-) diff --git a/BO/Controllers/croomController.cs b/BO/Controllers/croomController.cs index 7420d5b..b72f0ca 100644 --- a/BO/Controllers/croomController.cs +++ b/BO/Controllers/croomController.cs @@ -758,9 +758,11 @@ namespace NP.BO.Controllers var ht = SetHash(vm, false); if (!IsPost()) { - vm.stringval = DateTime.Now.ToString("yyyy-MM-01"); - vm.stringval2 = Convert.ToDateTime(vm.stringval).AddMonths(1).AddSeconds(-1).ToString("yyyy-MM-dd"); + vm.stringval6 = DateTime.Now.ToString("yyyy-MM-01"); + vm.stringval7 = Convert.ToDateTime(vm.stringval6).AddMonths(1).AddSeconds(-1).ToString("yyyy-MM-dd"); } + ht.Add("staxdatereq", vm.stringval6); + ht.Add("etaxdatereq", string.IsNullOrEmpty(vm.stringval7) ? null : (vm.stringval7 + " 23:59:59")); ht.Add("cdts", vm.stringval); ht.Add("cdte", string.IsNullOrEmpty(vm.stringval2) ? null : (vm.stringval2 + " 23:59:59")); if (!string.IsNullOrEmpty(vm.stringval3)) @@ -812,15 +814,24 @@ namespace NP.BO.Controllers else vm.PayTaxItem = Dao.Get("cr.paytaxitem2", new System.Collections.Hashtable() { { "taxno", vm.longval } }); - #region 세금계산서 Popbill 연동 - var payTax = vm.PayTaxes.First(); + #region 세금계산서 Popbill 연동 + var payTax = vm.PayTaxes.First(); if (payTax != null) - { + { var result = PopbillService.GetTaxinvoice(payTax); if (result.IsSuccess) { ViewBag.Taxinvoice = result.Data; ViewBag.TaxinvoiceInfo = PopbillService.GetTaxinvoiceInfo(payTax).Data; + if(ViewBag.TaxinvoiceInfo != null && payTax.statecode == 0) + { + #region 세금계산서 상태코드 업데이트 + payTax.uno = SUserInfo.UserNo; + payTax.uip = GetUserIP(); + payTax.statecode = ViewBag.TaxinvoiceInfo.stateCode; + Dao.Save("cr.paytax.save", payTax); + #endregion + } } } #endregion diff --git a/BO/Views/croom/tax.cshtml b/BO/Views/croom/tax.cshtml index 15cbb7b..c71dd29 100644 --- a/BO/Views/croom/tax.cshtml +++ b/BO/Views/croom/tax.cshtml @@ -20,7 +20,13 @@ - 요청일 + 발행요청일 + + @Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval6) ? (DateTime?)null : Convert.ToDateTime(Model.stringval6), new ViewDataDictionary { { "name", "stringval6" } }) ~ @Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval7) ? (DateTime?)null : Convert.ToDateTime(Model.stringval7), new ViewDataDictionary { { "name", "stringval7" } }) + + + + 신청일 @Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval) ? (DateTime?)null : Convert.ToDateTime(Model.stringval), new ViewDataDictionary { { "name", "stringval" } }) ~ @Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval2) ? (DateTime?)null : Convert.ToDateTime(Model.stringval2), new ViewDataDictionary { { "name", "stringval2" } }) @@ -51,8 +57,9 @@ 상품명 수량
(인원) 발행요청금액 - 요청일 - 발행일 + 신청일 + 발행요청일 + 발행일 영수구분 상태 @@ -69,9 +76,10 @@ @d.pcnt @d.taxamt.ToString("#,0") @d.cdtymd - @(d.taxdate == null ? "" : d.taxdate.Value.ToString("yyyy-MM-dd")) + @(d.taxdatereq == null ? "" : d.taxdatereq.Value.ToString("yyyy-MM-dd")) + @(d.taxdate == null ? "" : d.taxdate.Value.ToString("yyyy-MM-dd")) @(d.isreceipt == 0 ? "청구" : "영수") - @(d.iscancel ==1 ? "발행취소": d.taxdate == null ? "미발행" : "발행완료") + @(d.status) } diff --git a/BO/Views/croom/taxdetail.cshtml b/BO/Views/croom/taxdetail.cshtml index 20cbc50..d932798 100644 --- a/BO/Views/croom/taxdetail.cshtml +++ b/BO/Views/croom/taxdetail.cshtml @@ -23,7 +23,8 @@ 상품명 수량
(인원) 발행요청금액 - 요청일 + 신청일 + 발행요청일 발행일 상태 @@ -39,8 +40,9 @@ @d.pcnt @d.taxamt.ToString("#,0") @d.cdtymd - @(d.taxdate == null ? "" : d.taxdate.Value.ToString("yyyy-MM-dd")) - @(d.iscancel ==1 ? "발행취소" :d.taxdate == null ? "미발행" : "발행완료") + @(d.taxdatereq == null ? "" : d.taxdatereq.Value.ToString("yyyy-MM-dd")) + @(d.taxdate == null ? "" : d.taxdate.Value.ToString("yyyy-MM-dd")) + @(d.status) } @@ -181,7 +183,14 @@ 발행일 - + @if (t.status == "미발행") { + + } + else + { + + } + @(t.taxdatereq==null?"": string.Format("[발행요청일 : {0}]", t.taxdatereq.Value.ToString("yyyy-MM-dd"))) @@ -220,30 +229,25 @@ +
@if (t.iscancel == null || t.iscancel.Value != 1) { - if (string.IsNullOrEmpty(t.mgtkey)) + if (t.statecode == 0) { - 저장 - if (Model.PayTaxItem.First().payoktime != null) - { - 임시저장 - 계산서 즉시발행 - } + 저장 + 임시저장 + 계산서 즉시발행 } else { - if (string.IsNullOrEmpty(taxinvoice.ntsconfirmNum)) + if (t.statecode == 100) { - 저장 - if (Model.PayTaxItem.First().payoktime != null) - { - 임시저장 - 미리보기 - 계산서 즉시발행 - } + 저장 + 임시저장 + 미리보기 + 계산서 즉시발행 } else @@ -252,7 +256,7 @@ } } 발행취소 - } + } 목록
@Html.Partial("./Partial/dform", Model) @@ -315,7 +319,11 @@ } } function tempsave() { - cap("/acommon/paytaxtempsave", "sform", "cbtempsave"); + if (val("taxdate") == "") { + msg("발행일을 등록해주세요."); + } else { + cap("/acommon/paytaxtempsave", "sform", "cbtempsave"); + } } function cbtempsave() { if (capResult.code == 1000) { @@ -348,8 +356,12 @@ } } function Issue() { - if (confirm("입력된 내용으로 계산서 발행을 진행하시겠습니까?")) { - cap("/acommon/paytaxissue", "sform", "cbIssue"); + if (val("taxdate") == "") { + msg("발행일을 등록해주세요."); + } else { + if (confirm("입력된 내용으로 계산서 발행을 진행하시겠습니까?")) { + cap("/acommon/paytaxissue", "sform", "cbIssue"); + } } } function cbIssue() { @@ -366,8 +378,12 @@ } } function registIssue() { - if (confirm("입력된 내용으로 계산서 발행을 진행하시겠습니까?")) { - cap("/acommon/paytaxregistissue", "sform", "cbregistIssue"); + if (val("taxdate") == "") { + msg("발행일을 등록해주세요."); + } else { + if (confirm("입력된 내용으로 계산서 발행을 진행하시겠습니까?")) { + cap("/acommon/paytaxregistissue", "sform", "cbregistIssue"); + } } } function cbregistIssue() { diff --git a/BO/Web.config b/BO/Web.config index 524a954..50a05ad 100644 --- a/BO/Web.config +++ b/BO/Web.config @@ -55,8 +55,8 @@ - - + + diff --git a/Base/Controller/ACommonCRoom.cs b/Base/Controller/ACommonCRoom.cs index d196e55..1778665 100644 --- a/Base/Controller/ACommonCRoom.cs +++ b/Base/Controller/ACommonCRoom.cs @@ -834,15 +834,14 @@ namespace NP.Base.Controllers public JsonResult PayTaxTempSave(PayTax payTax) { payTax.uno = SUserInfo.UserNo; payTax.uip = GetUserIP(); - if (payTax.iscancel != 1 && Dao.Get("cr.paytaxes", new Hashtable() { { "payno", payTax.payno }, { "cno", payTax.cno }, { "iscancel", 0 }, { "nottaxno", payTax.taxno } }).Count() > 0) + if (payTax.iscancel != 1 && payTax.taxdate != null && Dao.Get("cr.paytaxes", new Hashtable() { { "payno", payTax.payno }, { "cno", payTax.cno }, { "iscancel", 0 }, { "nottaxno", payTax.taxno } }).Count() > 0) { return JsonBack(new JsonRtn() { code = -1 }); } - - payTax.udt = DateTime.Now; + if (string.IsNullOrEmpty(payTax.mgtkey)) { - payTax.mgtkey = Popbill.PopbillService.MakeMgtKey(Dao, payTax.taxno, payTax.udt); + payTax.mgtkey = Popbill.PopbillService.MakeMgtKey(Dao, payTax.taxno, payTax.taxdate.Value); } if (Dao.Save("cr.paytax.save", payTax) > 0) @@ -852,10 +851,26 @@ namespace NP.Base.Controllers var result = Popbill.PopbillService.TempSave(Dao, payTax, payItems); if (result.IsSuccess) { + #region 세금계산서 상태코드 업데이트 + var taxinvoiceInfo = PopbillService.GetTaxinvoiceInfo(payTax).Data; + payTax.statecode = taxinvoiceInfo.stateCode; + Dao.Save("cr.paytax.save", payTax); + #endregion return JsonOK(result.Code); } else - { + { + #region 임시저장 실패시 mgtkey 미사용이면 저장값 초기화 + var checkResult = Popbill.PopbillService.CheckMgtKeyInUse(payTax.mgtkey); + if (checkResult.IsSuccess) + { + if (!checkResult.IsUse) + { + payTax.mgtkey = string.Empty; + Dao.Save("cr.paytax.save", payTax); + } + } + #endregion return JsonError(JSONCode.Error, result.Message, result); } } @@ -863,9 +878,9 @@ namespace NP.Base.Controllers } #endregion - #region 세금계산서 발행(팝빌 발행 및 paytax.taxdate 업데이트) + #region 세금계산서 발행(팝빌 발행) /// - /// 세금계산서 발행(팝빌 발행 및 paytax.taxdate 업데이트) + /// 세금계산서 발행(팝빌 발행) /// /// /// @@ -873,25 +888,25 @@ namespace NP.Base.Controllers public JsonResult PayTaxIssue(PayTax payTax) { payTax.uno = SUserInfo.UserNo; payTax.uip = GetUserIP(); - if (payTax.iscancel != 1 && Dao.Get("cr.paytaxes", new Hashtable() { { "payno", payTax.payno }, { "cno", payTax.cno }, { "iscancel", 0 }, { "nottaxno", payTax.taxno } }).Count() > 0) + if (payTax.iscancel != 1 && payTax.taxdate != null && Dao.Get("cr.paytaxes", new Hashtable() { { "payno", payTax.payno }, { "cno", payTax.cno }, { "iscancel", 0 }, { "nottaxno", payTax.taxno } }).Count() > 0) { return JsonBack(new JsonRtn() { code = -1 }); } - if (payTax.taxdate == null) - { - payTax.taxdate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); - } - if (Dao.Save("cr.paytax.save", payTax) > 0) { var result = Popbill.PopbillService.Issue(payTax.mgtkey); if (result.IsSuccess) { + #region 세금계산서 상태코드 업데이트 + var taxinvoiceInfo = PopbillService.GetTaxinvoiceInfo(payTax).Data; + payTax.statecode = taxinvoiceInfo.stateCode; + Dao.Save("cr.paytax.save", payTax); + #endregion return JsonOK(result.Code); } else - { + { return JsonError(JSONCode.Error, result.Message, result); } } @@ -899,9 +914,9 @@ namespace NP.Base.Controllers } #endregion - #region 세금계산서 즉시발행(팝빌 발행 및 paytax.taxdate ,paytax.mgtkey 업데이트) + #region 세금계산서 즉시발행(팝빌 발행 및 paytax.mgtkey 업데이트) /// - /// 세금계산서 즉시발행(팝빌 발행 및 paytax.taxdate ,paytax.mgtkey 업데이트) + /// 세금계산서 즉시발행(팝빌 발행 및 paytax.mgtkey 업데이트) /// /// payTax /// @@ -909,20 +924,14 @@ namespace NP.Base.Controllers public JsonResult PayTaxRegistIssue(PayTax payTax) { payTax.uno = SUserInfo.UserNo; payTax.uip = GetUserIP(); - if (payTax.iscancel != 1 && Dao.Get("cr.paytaxes", new Hashtable() { { "payno", payTax.payno }, { "cno", payTax.cno }, { "iscancel", 0 }, { "nottaxno", payTax.taxno } }).Count() > 0) + if (payTax.iscancel != 1 && payTax.taxdate != null && Dao.Get("cr.paytaxes", new Hashtable() { { "payno", payTax.payno }, { "cno", payTax.cno }, { "iscancel", 0 }, { "nottaxno", payTax.taxno } }).Count() > 0) { return JsonBack(new JsonRtn() { code = -1 }); - } - - if (payTax.taxdate == null) - { - payTax.taxdate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); - } - - payTax.udt = DateTime.Now; + } + if (string.IsNullOrEmpty(payTax.mgtkey)) { - payTax.mgtkey = Popbill.PopbillService.MakeMgtKey(Dao,payTax.taxno, payTax.udt); + payTax.mgtkey = Popbill.PopbillService.MakeMgtKey(Dao,payTax.taxno, payTax.taxdate.Value); } if (Dao.Save("cr.paytax.save", payTax) > 0) @@ -931,10 +940,26 @@ namespace NP.Base.Controllers var result = Popbill.PopbillService.RegistIssue(Dao, payTax, payItems); if (result.IsSuccess) { + #region 세금계산서 상태코드 업데이트 + var taxinvoiceInfo = PopbillService.GetTaxinvoiceInfo(payTax).Data; + payTax.statecode = taxinvoiceInfo.stateCode; + Dao.Save("cr.paytax.save", payTax); + #endregion return JsonOK(result.Code); } else { + #region 즉시발행 실패시 mgtkey 미사용이면 저장값 초기화 + var checkResult = Popbill.PopbillService.CheckMgtKeyInUse(payTax.mgtkey); + if (checkResult.IsSuccess) + { + if (!checkResult.IsUse) + { + payTax.mgtkey = string.Empty; + Dao.Save("cr.paytax.save", payTax); + } + } + #endregion return JsonError(JSONCode.Error, result.Message, result); } } @@ -969,6 +994,10 @@ namespace NP.Base.Controllers var result = Popbill.PopbillService.CancelIssue(payTax.mgtkey); if (result.IsSuccess) { + #region 세금계산서 상태코드 업데이트 + var taxinvoiceInfo = PopbillService.GetTaxinvoiceInfo(payTax).Data; + payTax.statecode = taxinvoiceInfo.stateCode; + #endregion return JsonOK(Dao.Save("cr.paytax.save", payTax)); } else diff --git a/Base/Controller/FCommonPay.cs b/Base/Controller/FCommonPay.cs index a856cb4..2c3ef7f 100644 --- a/Base/Controller/FCommonPay.cs +++ b/Base/Controller/FCommonPay.cs @@ -389,6 +389,11 @@ namespace NP.Base.Controllers } else { + if (vm.isbill == 1) + { + Dao.Save("pay.pplog.up", new Hashtable() { { "pplno", vm.pplno}, { "userno", SUserInfo.UserNo }, { "isreceipt", vm.isreceipt }, { "taxdatereq", vm.taxdatereq }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }); + } + vm.Pay = new Pay() { ptype = vm.ptype, diff --git a/Base/Popbill/PopbillService.cs b/Base/Popbill/PopbillService.cs index 8c131a7..c599f50 100644 --- a/Base/Popbill/PopbillService.cs +++ b/Base/Popbill/PopbillService.cs @@ -14,6 +14,31 @@ namespace NP.Base.Popbill { public class PopbillService { + #region 세금계산서 mgtKey(문서번호) 사용여부 + /// + /// 세금계산서 mgtKey(문서번호) 사용여부 + /// + /// mgtkey + /// 세금계산서 유형 : SELL = 매출, BUY = 매입, TRUSTEE = 위수탁 + /// bool + public static Result CheckMgtKeyInUse(string mgtkey, MgtKeyType keyType = MgtKeyType.SELL) + { + Result result = new Result(); + try + { + result.IsUse = PopbillConfig.taxinvoiceService.CheckMgtKeyInUse(PopbillConfig.CorpNum, keyType, mgtkey); + } + catch (PopbillException ex) + { + result.IsSuccess = false; + result.Code = ex.code; + result.Message = ex.Message; + Logger.TryError(ex.Message, ex); + } + return result; + } + #endregion + #region 세금계산서 mgtKey(문서번호) 생성 /// /// 세금계산서 mgtKey(문서번호) 생성 @@ -82,7 +107,7 @@ namespace NP.Base.Popbill taxinvoice.issueType = "정발행"; //"정발행" / "역발행" / "위수탁" 중 택 1 taxinvoice.taxType = "면세"; //"과세" / "영세" / "면세" 중 택 1 taxinvoice.chargeDirection = "정과금"; //"정과금" / "역과금" 중 택 1 - taxinvoice.writeDate = payTax.udt.ToString("yyyyMMdd"); + taxinvoice.writeDate = payTax.taxdate?.ToString("yyyyMMdd"); taxinvoice.purposeType = payTax.isreceipt == 0 ? "청구" : "영수"; //0:청구, 1:영수 {"영수" / "청구" / "없음" 중 택 1} taxinvoice.supplyCostTotal = payTax.taxamt.ToString(); taxinvoice.taxTotal = "0"; @@ -115,7 +140,7 @@ namespace NP.Base.Popbill { TaxinvoiceDetail detail = new TaxinvoiceDetail(); detail.serialNum = serialNum; // 일련번호, 1부터 순차기재 - detail.purchaseDT = payItem.payoktime.Value.ToString("yyyyMMdd"); // 거래일자 + detail.purchaseDT = payTax.taxdate?.ToString("yyyyMMdd"); // 거래일자 detail.itemName = payItem.itemname; // 품목명 detail.spec = ""; // 규격 detail.qty = payItem.pcnt.ToString(); // 수량 @@ -151,19 +176,19 @@ namespace NP.Base.Popbill state = "발행완료"; break; case 301: - state = "전송전"; + state = "국세청-전송전"; break; case 302: - state = "전송대기"; + state = "국세청-전송대기"; break; case 303: - state = "전송중"; + state = "국세청-전송중"; break; case 304: - state = "전송성공"; + state = "국세청-전송성공"; break; case 305: - state = "전송실패"; + state = "국세청-전송실패"; break; case 600: state = "발행취소"; @@ -501,5 +526,6 @@ namespace NP.Base.Popbill public long Code = 1; public String Message = string.Empty; public T Data; - } + public bool IsUse = false; + } } diff --git a/Dao/MyBatis/Maps/CRoom.xml b/Dao/MyBatis/Maps/CRoom.xml index 603caaa..0351339 100644 --- a/Dao/MyBatis/Maps/CRoom.xml +++ b/Dao/MyBatis/Maps/CRoom.xml @@ -1243,16 +1243,15 @@ 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.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 ,CAST(AES_DECRYPT(UNHEX(b.telno), ) AS char) telno ,CAST(AES_DECRYPT(UNHEX(b.email), ) AS char) email ,u.userno cno,u.username,u.userid ,ua.isjoin ,row_number() over(order by b.cdt desc) rno - ,count(a.taxno) over() pagetotalcount - ,a.mgtkey + ,count(a.taxno) over() pagetotalcount from ( - 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, a.mgtkey + 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 from paytax a inner join paytaxitem b on b.taxno=a.taxno inner join payitem pi on pi.pino=b.pino @@ -1269,9 +1268,8 @@ ifnull(a.iscancel,0)=#iscancel# a.cdt >= #cdts# a.cdt <= #cdte# - a.taxdate is null - a.taxdate is not null - a.taxdate is not null + ifnull(a.statecode,0) < 300 + a.statecode >= 300 u.username like concat('%',#username#,'%') u.userid like concat('%',#userid#,'%') a.manname like concat('%',#manname#,'%') @@ -1281,6 +1279,8 @@ (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#, '%')) + a.taxdatereq >= #staxdatereq# + a.taxdatereq <= #etaxdatereq# group by a.taxno ) a @@ -1348,6 +1348,8 @@ ,iscancel=#iscancel# ,asaddr=#asaddr# ,mgtkey=#mgtkey# + ,taxdatereq=#taxdatereq# + ,statecode=#statecode# where taxno=#taxno# - insert into paytax(payno,taxamt,pcnt,asname,ceoname,brno,grno,btype,bkind,manname,telno,email,fgno,taxinfo,asaddr,isreceipt,) + insert into paytax(payno,taxamt,pcnt,asname,ceoname,brno,grno,btype,bkind,manname,telno,email,fgno,taxinfo,asaddr,isreceipt,taxdatereq,) select a.payno ,sum(b.payamt) ,sum(b.pcnt) @@ -785,7 +785,7 @@ ,#btype#,#bkind#,#manname# ,HEX(AES_ENCRYPT(#telno#, )) ,HEX(AES_ENCRYPT(#email#, )) - ,#fgno#,#taxinfo#,#asaddr#,#isreceipt#, + ,#fgno#,#taxinfo#,#asaddr#,#isreceipt#,#taxdatereq#, from pay a inner join payitem b on b.payno=a.payno and b.pino in ($pinos$) and (a.pstatus=1 or a.pstatus=22) and a.rstatus=0 where a.payno=#payno# and a.userno=#uno# and (a.pstatus=1 or a.pstatus=22) and a.rstatus < 2 @@ -927,7 +927,7 @@ where payno=#payno# and isunpay=1; +
  • + +
  • } + +
    • 수강신청
    • 취소
    • @@ -144,6 +152,7 @@ display: none; } + @Html.Partial("./Partial/ScriptDate") }