From 9b366a007150243c21d5ae5795cff213053b9f0b Mon Sep 17 00:00:00 2001 From: fzp <645608524@qq.com> Date: Sat, 12 Aug 2023 22:44:50 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FinaChargeStuOrderController.cs | 117 ++++++++ .../FinaChargeStuYearController.cs | 172 +++++++++++- .../FinaChargeStuYearItemController.cs | 9 +- .../缴费订单明细Controller.cs | 117 ++++++++ .../Views/FinaChargeStuOrder/Form.cshtml | 59 ++++ .../Views/FinaChargeStuOrder/Form.js | 53 ++++ .../Views/FinaChargeStuOrder/Index.cshtml | 57 ++++ .../Views/FinaChargeStuOrder/Index.js | 120 +++++++++ .../Views/FinaChargeStuYear/Index.js | 34 +-- .../FinaChargeStuYear/IndexForStudent.cshtml | 31 +++ .../FinaChargeStuYear/IndexForStudent.js | 145 ++++++++++ .../Views/FinaChargeStuYear/PayFeeForm.cshtml | 50 ++++ .../Views/FinaChargeStuYear/PayFeeForm.js | 162 +++++++++++ .../Views/FinaChargeStuYearItem/Index.js | 2 +- .../Views/缴费订单明细/Form.cshtml | 31 +++ .../Views/缴费订单明细/Form.js | 50 ++++ .../Views/缴费订单明细/Index.cshtml | 21 ++ .../Views/缴费订单明细/Index.js | 47 ++++ .../Content/excel/缴费明细.xls | Bin 23552 -> 23552 bytes .../Learun.Application.Web.csproj | 14 + .../Learun.Application.Mapping.csproj | 2 + .../FinaChargeStuOrderDetailMap.cs | 29 ++ .../FinaChargeStuOrderMap.cs | 29 ++ .../Learun.Application.TwoDevelopment.csproj | 8 + .../FinaChargeStuOrderBLL.cs | 144 ++++++++++ .../FinaChargeStuOrderEntity.cs | 116 ++++++++ .../FinaChargeStuOrderIBLL.cs | 49 ++++ .../FinaChargeStuOrderService.cs | 252 ++++++++++++++++++ .../FinaChargeStuYear/FinaChargeStuYearBLL.cs | 19 ++ .../FinaChargeStuYearEntity.cs | 10 +- .../FinaChargeStuYearIBLL.cs | 6 + .../FinaChargeStuYearService.cs | 36 ++- .../FinaChargeStuYearItemBLL.cs | 2 +- .../FinaChargeStuYearItemEntity.cs | 5 + .../FinaChargeStuYearItemIBLL.cs | 4 +- .../FinaChargeStuYearItemService.cs | 173 +++++++++--- .../FinaChargesStandardEntity.cs | 9 +- .../FinaChargesStandardService.cs | 3 +- .../FinaChargeStuOrderDetailEntity.cs | 81 ++++++ .../缴费订单明细BLL.cs | 125 +++++++++ .../缴费订单明细IBLL.cs | 48 ++++ .../缴费订单明细Service.cs | 150 +++++++++++ 42 files changed, 2519 insertions(+), 72 deletions(-) create mode 100644 Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Controllers/FinaChargeStuOrderController.cs create mode 100644 Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Controllers/缴费订单明细Controller.cs create mode 100644 Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuOrder/Form.cshtml create mode 100644 Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuOrder/Form.js create mode 100644 Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuOrder/Index.cshtml create mode 100644 Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuOrder/Index.js create mode 100644 Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/IndexForStudent.cshtml create mode 100644 Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/IndexForStudent.js create mode 100644 Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/PayFeeForm.cshtml create mode 100644 Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/PayFeeForm.js create mode 100644 Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/缴费订单明细/Form.cshtml create mode 100644 Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/缴费订单明细/Form.js create mode 100644 Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/缴费订单明细/Index.cshtml create mode 100644 Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/缴费订单明细/Index.js create mode 100644 Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/ReceiveSendFeeManagement/FinaChargeStuOrderDetailMap.cs create mode 100644 Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/ReceiveSendFeeManagement/FinaChargeStuOrderMap.cs create mode 100644 Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuOrder/FinaChargeStuOrderBLL.cs create mode 100644 Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuOrder/FinaChargeStuOrderEntity.cs create mode 100644 Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuOrder/FinaChargeStuOrderIBLL.cs create mode 100644 Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuOrder/FinaChargeStuOrderService.cs create mode 100644 Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/缴费订单明细/FinaChargeStuOrderDetailEntity.cs create mode 100644 Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/缴费订单明细/缴费订单明细BLL.cs create mode 100644 Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/缴费订单明细/缴费订单明细IBLL.cs create mode 100644 Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/缴费订单明细/缴费订单明细Service.cs diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Controllers/FinaChargeStuOrderController.cs b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Controllers/FinaChargeStuOrderController.cs new file mode 100644 index 000000000..1f5b0a004 --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Controllers/FinaChargeStuOrderController.cs @@ -0,0 +1,117 @@ +using Learun.Util; +using System.Data; +using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; +using System.Web.Mvc; +using System.Collections.Generic; + +namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers +{ + /// + /// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 + /// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 + /// 创 建:超级管理员 + /// 日 期:2023-08-12 22:06 + /// 描 述:缴费订单管理 + /// + public class FinaChargeStuOrderController : MvcControllerBase + { + private FinaChargeStuOrderIBLL finaChargeStuOrderIBLL = new FinaChargeStuOrderBLL(); + + #region 视图功能 + + /// + /// 主页面 + /// + /// + [HttpGet] + public ActionResult Index() + { + return View(); + } + /// + /// 表单页 + /// + /// + [HttpGet] + public ActionResult Form() + { + return View(); + } + #endregion + + #region 获取数据 + + /// + /// 获取页面显示列表数据 + /// + /// 分页参数 + /// 查询参数 + /// + [HttpGet] + [AjaxOnly] + public ActionResult GetPageList(string pagination, string queryJson) + { + Pagination paginationobj = pagination.ToObject(); + var data = finaChargeStuOrderIBLL.GetPageList(paginationobj, queryJson); + var jsonData = new + { + rows = data, + total = paginationobj.total, + page = paginationobj.page, + records = paginationobj.records + }; + return Success(jsonData); + } + /// + /// 获取表单数据 + /// + /// 主键 + /// + [HttpGet] + [AjaxOnly] + public ActionResult GetFormData(string keyValue) + { + var FinaChargeStuOrderData = finaChargeStuOrderIBLL.GetFinaChargeStuOrderEntity( keyValue ); + var jsonData = new { + FinaChargeStuOrder = FinaChargeStuOrderData, + }; + return Success(jsonData); + } + #endregion + + #region 提交数据 + + /// + /// 删除实体数据 + /// + /// 主键 + /// + [HttpPost] + [AjaxOnly] + public ActionResult DeleteForm(string keyValue) + { + finaChargeStuOrderIBLL.DeleteEntity(keyValue); + return Success("删除成功!"); + } + /// + /// 保存实体数据(新增、修改) + /// + /// 主键 + /// 实体 + /// + [HttpPost] + [ValidateAntiForgeryToken] + [AjaxOnly] + public ActionResult SaveForm(string keyValue, string strEntity) + { + FinaChargeStuOrderEntity entity = strEntity.ToObject(); + finaChargeStuOrderIBLL.SaveEntity(keyValue,entity); + if (string.IsNullOrEmpty(keyValue)) + { + } + return Success("保存成功!"); + } + #endregion + + } +} diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Controllers/FinaChargeStuYearController.cs b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Controllers/FinaChargeStuYearController.cs index 78a537c9a..5ffd41374 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Controllers/FinaChargeStuYearController.cs +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Controllers/FinaChargeStuYearController.cs @@ -1,8 +1,18 @@ -using Learun.Util; +using System; +using Learun.Util; using System.Data; using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; using System.Web.Mvc; using System.Collections.Generic; +using System.Drawing; +using System.IO; +using System.Security.Cryptography; +using System.Text; +using System.Web; +using Learun.Application.Base.SystemModule; +using Learun.Application.TwoDevelopment.EducationalAdministration; +using Newtonsoft.Json; +using ThoughtWorks.QRCode.Codec; namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers { @@ -16,6 +26,7 @@ namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers public class FinaChargeStuYearController : MvcControllerBase { private FinaChargeStuYearIBLL finaChargeStuYearIBLL = new FinaChargeStuYearBLL(); + private FinaChargeStuOrderIBLL finaChargeStuOrderIbll = new FinaChargeStuOrderBLL(); #region 视图功能 @@ -28,6 +39,12 @@ namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers { return View(); } + + [HttpGet] + public ActionResult IndexForStudent() + { + return View(); + } /// /// 表单页 /// @@ -38,6 +55,12 @@ namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers return View(); } + [HttpGet] + public ActionResult PayFeeForm() + { + return View(); + } + [HttpGet] public ActionResult GenerateByConditionForm() { @@ -90,6 +113,28 @@ namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers }; return Success(jsonData); } + + [HttpGet] + [AjaxOnly] + public ActionResult GetPayFeeDetail(string keyValue) + { + //学生基础信息 + var FinaChargeStuYearData = finaChargeStuYearIBLL.GetFinaChargeStuYearEntity(keyValue); + //学生缴费明细 + var FinaChargeStuItemList = finaChargeStuYearIBLL.GetFinaChargeStuItemList(keyValue); + foreach (var finaChargeStuYearItemEntity in FinaChargeStuItemList) + { + finaChargeStuYearItemEntity.FSBlance = Math.Abs(finaChargeStuYearItemEntity.FSBlance.Value); + } + var jsonData = new + { + StuInfoFreshData = FinaChargeStuYearData, + FinaChargesStandardList = FinaChargeStuItemList, + PayFeeTotal = Math.Abs(FinaChargeStuYearData.FSBlance.Value), + SJAmount = FinaChargeStuYearData.SJAmount + }; + return Success(jsonData); + } #endregion #region 提交数据 @@ -136,5 +181,130 @@ namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers } #endregion + #region 二维码缴费 + /// + /// 生成缴费二维码 + /// + /// + [HttpPost] + [AjaxOnly] + public ActionResult PayFeeQRCode(string strEntity, string detailList) + { + FinaChargeStuYearEntity entity = strEntity.ToObject(); + List list = detailList.ToObject>(); + var imgUrl = ""; + Random ran = new Random(); + string merchantid = "105000082201406";//商户号 + string posid = "043724806";//商户柜台代码 + string branchid = "510000000";//分行代码 + string orderid = DateTime.Now.ToString("yyyyMMddhhmmss") + ran.Next(0, 100000); + string payment = entity.PayMoney.ToString(); + string curcode = "01"; + string txcode = "530550"; + string remark1 = entity.StuNo; + string remark2 = entity.FSYear.ToString(); + string returntype = "3"; + string timeout = DateTime.Now.AddMinutes(10).ToString("yyyyMMddHHmmss"); + string pub32tr2 = "40d987faa793a0a27e7a86ef020111"; + string bankURL = "https://ibsbjstar.ccb.com.cn/CCBIS/ccbMain?CCB_IBSVersion=V6"; + string tmp = "MERCHANTID=" + merchantid + "&POSID=" + posid + "&BRANCHID=" + branchid + "&ORDERID=" + orderid; + tmp += "&PAYMENT=" + payment + "&CURCODE=" + curcode + "&TXCODE=" + txcode + "&REMARK1=" + remark1; + tmp += "&REMARK2=" + remark2 + "&RETURNTYPE=" + returntype + "&TIMEOUT=" + timeout; + MD5 md5 = MD5.Create(); + string tmp1 = tmp; + tmp += "&PUB=" + pub32tr2; + byte[] buffer = Encoding.Default.GetBytes(tmp); + byte[] md5Buffer = md5.ComputeHash(buffer); + string strMd5 = ""; + //hdnOrderId.Value = orderid; + foreach (byte item in md5Buffer) + { + strMd5 += item.ToString("x2"); + } + String url = bankURL + "&" + tmp1 + "&MAC=" + strMd5; + string reJson = HttpMethods.Post(url); + LogEntity logEntity = new LogEntity(); + logEntity.F_CategoryId = 121; + logEntity.F_ExecuteResultJson = reJson; + logEntity.WriteLog(); + //HttpConnect conn = new HttpConnect(); + //string reJson = conn.Post(url, ""); + JsonBean MemberInfoList = JsonConvert.DeserializeObject(reJson); + if (MemberInfoList.SUCCESS.Equals("true")) + { + string imgCode = HttpMethods.Post(MemberInfoList.PAYURL); + logEntity.F_CategoryId = 121; + logEntity.F_ExecuteResultJson = imgCode; + logEntity.WriteLog(); + MemberInfoList = JsonConvert.DeserializeObject(imgCode); + if (MemberInfoList.SUCCESS.Equals("true")) + { + imgUrl = CreateQRImg(MemberInfoList.QRURL, orderid); + } + } + + if (!string.IsNullOrEmpty(imgUrl)) + { + entity.orderid = orderid; + finaChargeStuOrderIbll.SaveOrderData(entity, list); + } + + return Success(imgUrl); + } + + public class JsonBean + { + /// + /// + /// + public string SUCCESS { get; set; } + public string PAYURL { get; set; } + public string QRURL { get; set; } + } + /// + /// 生成并保存二维码图片的方法 + /// + /// 输入的内容 + public string CreateQRImg(string str, string orderId) + { + Random ran = new Random(); + Bitmap bt; + str = HttpUtility.UrlDecode(str); + string enCodeString = str; + //生成设置编码实例 + QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(); + //设置二维码的规模,默认4 + qrCodeEncoder.QRCodeScale = 3; + //设置二维码的版本,默认7 + qrCodeEncoder.QRCodeVersion = 7; + //设置错误校验级别,默认中等 + qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M; + //生成二维码图片 + bt = qrCodeEncoder.Encode(enCodeString, Encoding.UTF8); + //二维码图片的名称 + string filename = orderId; + if (!Directory.Exists(Server.MapPath("~/Content/images/QRCode/"))) + { + Directory.CreateDirectory(Server.MapPath("~/Content/images/QRCode/")); + } + var path = Server.MapPath("~/Content/images/QRCode/") + filename + ".jpg"; + //保存二维码图片在photos路径下 + try + { + bt.Save(path); + } + catch (Exception ex) + { + + return ""; + } + + //图片控件要显示的二维码图片路径 + return "/Content/images/QRCode/" + filename + ".jpg"; + } + + + #endregion + } } diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Controllers/FinaChargeStuYearItemController.cs b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Controllers/FinaChargeStuYearItemController.cs index edc55cf88..208c6809c 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Controllers/FinaChargeStuYearItemController.cs +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Controllers/FinaChargeStuYearItemController.cs @@ -142,14 +142,13 @@ namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers if (!string.IsNullOrEmpty(path)) { DataTable dt = ExcelHelper.ExcelImport(path); - (DataTable failDt, int snum, int fnum) res; - res = finaChargeStuYearItemIBLL.ExecuteImportExcel(dt, fileGuid, queryJson); + string res = finaChargeStuYearItemIBLL.ExecuteImportExcel(dt, fileGuid, queryJson); var data = new { - Success =10, - Fail = 0 + Success = res.Split('|')[0], + Fail = res.Split('|')[1] }; - return Success(data); + return JsonResult(data); } else { diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Controllers/缴费订单明细Controller.cs b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Controllers/缴费订单明细Controller.cs new file mode 100644 index 000000000..0b23f4451 --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Controllers/缴费订单明细Controller.cs @@ -0,0 +1,117 @@ +using Learun.Util; +using System.Data; +using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; +using System.Web.Mvc; +using System.Collections.Generic; + +namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers +{ + /// + /// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 + /// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 + /// 创 建:超级管理员 + /// 日 期:2023-08-12 22:14 + /// 描 述:FinaChargeStuOrderDetail + /// + public class 缴费订单明细Controller : MvcControllerBase + { + private 缴费订单明细IBLL 缴费订单明细IBLL = new 缴费订单明细BLL(); + + #region 视图功能 + + /// + /// 主页面 + /// + /// + [HttpGet] + public ActionResult Index() + { + return View(); + } + /// + /// 表单页 + /// + /// + [HttpGet] + public ActionResult Form() + { + return View(); + } + #endregion + + #region 获取数据 + + /// + /// 获取页面显示列表数据 + /// + /// 分页参数 + /// 查询参数 + /// + [HttpGet] + [AjaxOnly] + public ActionResult GetPageList(string pagination, string queryJson) + { + Pagination paginationobj = pagination.ToObject(); + var data = 缴费订单明细IBLL.GetPageList(paginationobj, queryJson); + var jsonData = new + { + rows = data, + total = paginationobj.total, + page = paginationobj.page, + records = paginationobj.records + }; + return Success(jsonData); + } + /// + /// 获取表单数据 + /// + /// 主键 + /// + [HttpGet] + [AjaxOnly] + public ActionResult GetFormData(string keyValue) + { + var FinaChargeStuOrderDetailData = 缴费订单明细IBLL.GetFinaChargeStuOrderDetailEntity( keyValue ); + var jsonData = new { + FinaChargeStuOrderDetail = FinaChargeStuOrderDetailData, + }; + return Success(jsonData); + } + #endregion + + #region 提交数据 + + /// + /// 删除实体数据 + /// + /// 主键 + /// + [HttpPost] + [AjaxOnly] + public ActionResult DeleteForm(string keyValue) + { + 缴费订单明细IBLL.DeleteEntity(keyValue); + return Success("删除成功!"); + } + /// + /// 保存实体数据(新增、修改) + /// + /// 主键 + /// 实体 + /// + [HttpPost] + [ValidateAntiForgeryToken] + [AjaxOnly] + public ActionResult SaveForm(string keyValue, string strEntity) + { + FinaChargeStuOrderDetailEntity entity = strEntity.ToObject(); + 缴费订单明细IBLL.SaveEntity(keyValue,entity); + if (string.IsNullOrEmpty(keyValue)) + { + } + return Success("保存成功!"); + } + #endregion + + } +} diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuOrder/Form.cshtml b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuOrder/Form.cshtml new file mode 100644 index 000000000..9ce96c2e4 --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuOrder/Form.cshtml @@ -0,0 +1,59 @@ +@{ + ViewBag.Title = "缴费订单管理"; + Layout = "~/Views/Shared/_Form.cshtml"; +} +
+
+
缴费年度
+ +
+
+
学号
+ +
+
+
订单编号
+ +
+
+
应缴金额
+ +
+
+
实缴金额
+ +
+
+
待缴金额
+ +
+
+
超出余额
+ +
+
+
缴费状态
+
+
+
+
订单生成时间
+ +
+
+
付款时间
+ +
+
+
支付方式
+
+
+
+
订单来源
+
+
+
+
银行订单号
+ +
+
+@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuOrder/Form.js") diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuOrder/Form.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuOrder/Form.js new file mode 100644 index 000000000..1591be1db --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuOrder/Form.js @@ -0,0 +1,53 @@ +/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) + * Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 + * 创建人:超级管理员 + * 日 期:2023-08-12 22:06 + * 描 述:缴费订单管理 + */ +var acceptClick; +var keyValue = request('keyValue'); +var bootstrap = function ($, learun) { + "use strict"; + var page = { + init: function () { + $('.lr-form-wrap').lrscroll(); + page.bind(); + page.initData(); + }, + bind: function () { + $('#Status').lrDataItemSelect({ code: 'PayStatus' }); + $('#PayMode').lrDataItemSelect({ code: 'PayMode' }); + $('#OrderType').lrDataItemSelect({ code: 'OrderType' }); + }, + initData: function () { + if (!!keyValue) { + $.lrSetForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuOrder/GetFormData?keyValue=' + keyValue, function (data) { + for (var id in data) { + if (!!data[id].length && data[id].length > 0) { + $('#' + id ).jfGridSet('refreshdata', data[id]); + } + else { + $('[data-table="' + id + '"]').lrSetFormData(data[id]); + } + } + }); + } + } + }; + // 保存数据 + acceptClick = function (callBack) { + if (!$('body').lrValidform()) { + return false; + } + var postData = { + strEntity: JSON.stringify($('body').lrGetFormData()) + }; + $.lrSaveForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuOrder/SaveForm?keyValue=' + keyValue, postData, function (res) { + // 保存成功后才回调 + if (!!callBack) { + callBack(); + } + }); + }; + page.init(); +} diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuOrder/Index.cshtml b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuOrder/Index.cshtml new file mode 100644 index 000000000..118713830 --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuOrder/Index.cshtml @@ -0,0 +1,57 @@ +@{ + ViewBag.Title = "缴费订单管理"; + Layout = "~/Views/Shared/_Index.cshtml"; +} +
+
+
+
+
+
+
+
+
+
+
+
+
缴费年度
+ +
+
+
学号
+ +
+
+
缴费状态
+
+
+
+
支付方式
+
+
+
+
订单来源
+
+
+
+
银行订单号
+ +
+
+
+
+
+
+
+ +
+ +
+
+
+
+
+
+@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuOrder/Index.js") diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuOrder/Index.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuOrder/Index.js new file mode 100644 index 000000000..04b00f7de --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuOrder/Index.js @@ -0,0 +1,120 @@ +/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) + * Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 + * 创建人:超级管理员 + * 日 期:2023-08-12 22:06 + * 描 述:缴费订单管理 + */ +var refreshGirdData; +var bootstrap = function ($, learun) { + "use strict"; + var startTime; + var endTime; + var page = { + init: function () { + page.initGird(); + page.bind(); + }, + bind: function () { + // 时间搜索框 + $('#datesearch').lrdate({ + dfdata: [ + { name: '今天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00') }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, + { name: '近7天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'd', -6) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, + { name: '近1个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -1) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, + { name: '近3个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -3) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } } + ], + // 月 + mShow: false, + premShow: false, + // 季度 + jShow: false, + prejShow: false, + // 年 + ysShow: false, + yxShow: false, + preyShow: false, + yShow: false, + // 默认 + dfvalue: '1', + selectfn: function (begin, end) { + startTime = begin; + endTime = end; + page.search(); + } + }); + $('#multiple_condition_query').lrMultipleQuery(function (queryJson) { + page.search(queryJson); + }, 220, 400); + $('#Status').lrDataItemSelect({ code: 'PayStatus' }); + $('#PayMode').lrDataItemSelect({ code: 'PayMode' }); + $('#OrderType').lrDataItemSelect({ code: 'OrderType' }); + // 刷新 + $('#lr_refresh').on('click', function () { + location.reload(); + }); + //  导入 + $('#lr_import').on('click', function () { + }); + }, + // 初始化列表 + initGird: function () { + $('#gridtable').lrAuthorizeJfGrid({ + url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuOrder/GetPageList', + headData: [ + { label: "缴费年度", name: "YearNo", width: 100, align: "left"}, + { label: "学号", name: "StuNo", width: 100, align: "left"}, + { label: "订单编号", name: "orderid", width: 100, align: "left"}, + { label: "应缴金额", name: "YJAmount", width: 100, align: "left"}, + { label: "实缴金额", name: "SJAmount", width: 100, align: "left"}, + { label: "待缴金额", name: "DJAmount", width: 100, align: "left"}, + { label: "超出余额", name: "NowBlance", width: 100, align: "left"}, + { label: "缴费状态", name: "Status", width: 100, align: "left", + formatterAsync: function (callback, value, row, op,$cell) { + learun.clientdata.getAsync('dataItem', { + key: value, + code: 'PayStatus', + callback: function (_data) { + callback(_data.text); + } + }); + }}, + { label: "订单生成时间", name: "PlaceOrderTime", width: 100, align: "left"}, + { label: "付款时间", name: "PayTime", width: 100, align: "left"}, + { label: "支付方式", name: "PayMode", width: 100, align: "left", + formatterAsync: function (callback, value, row, op,$cell) { + learun.clientdata.getAsync('dataItem', { + key: value, + code: 'PayMode', + callback: function (_data) { + callback(_data.text); + } + }); + }}, + { label: "订单来源", name: "OrderType", width: 100, align: "left", + formatterAsync: function (callback, value, row, op,$cell) { + learun.clientdata.getAsync('dataItem', { + key: value, + code: 'OrderType', + callback: function (_data) { + callback(_data.text); + } + }); + }}, + { label: "银行订单号", name: "BankOrder", width: 100, align: "left"}, + ], + mainId:'Id', + isPage: true + }); + }, + search: function (param) { + param = param || {}; + param.StartTime = startTime; + param.EndTime = endTime; + $('#gridtable').jfGridSet('reload',{ queryJson: JSON.stringify(param) }); + } + }; + refreshGirdData = function () { + $('#gridtable').jfGridSet('reload'); + }; + page.init(); +} diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/Index.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/Index.js index 3978e1ea8..57cd6a9bd 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/Index.js +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/Index.js @@ -117,22 +117,24 @@ var bootstrap = function ($, learun) { } }, { label: "年级", name: "Grade", width: 100, align: "left" }, - { label: "缴费年度", name: "FSYear", width: 100, align: "left"}, - { label: "应缴金额", name: "YJAmount", width: 100, align: "left"}, - { label: "实缴金额", name: "SJAmount", width: 100, align: "left"}, - { label: "缴费年度余额", name: "FSBlance", width: 100, align: "left"}, - { label: "缴费状态", name: "PayFeeStatus", width: 100, align: "left", - formatterAsync: function (callback, value, row, op,$cell) { - learun.clientdata.getAsync('dataItem', { - key: value, - code: 'PayStatus', - callback: function (_data) { - callback(_data.text); - } - }); - }}, + { label: "缴费年度", name: "FSYear", width: 100, align: "left" }, + { label: "应缴金额", name: "YJAmount", width: 100, align: "left" }, + { label: "实缴金额", name: "SJAmount", width: 100, align: "left" }, + { label: "缴费年度余额", name: "FSBlance", width: 100, align: "left" }, + { + label: "缴费状态", name: "PayFeeStatus", width: 100, align: "left", + formatter: function (cellvalue, row) { + if (cellvalue === 0) { + return '未缴费'; + } else if (cellvalue === 1) { + return '已缴费'; + } else { + return '部分缴纳'; + } + } + }, ], - mainId:'FSYId', + mainId: 'FSYId', isPage: true }); page.search(); @@ -140,7 +142,7 @@ var bootstrap = function ($, learun) { search: function (param) { param = param || {}; param.fSYear = fSYear; - $('#gridtable').jfGridSet('reload',{ queryJson: JSON.stringify(param) }); + $('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); } }; refreshGirdData = function () { diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/IndexForStudent.cshtml b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/IndexForStudent.cshtml new file mode 100644 index 000000000..a87076360 --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/IndexForStudent.cshtml @@ -0,0 +1,31 @@ +@{ + ViewBag.Title = "学生年度缴费管理"; + Layout = "~/Views/Shared/_Index.cshtml"; +} +
+
+
+
+
+
+
+
+
+  查询 +
+
+ +
+
+
+
+
+@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/IndexForStudent.js") diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/IndexForStudent.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/IndexForStudent.js new file mode 100644 index 000000000..c6fabface --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/IndexForStudent.js @@ -0,0 +1,145 @@ +/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) + * Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 + * 创建人:超级管理员 + * 日 期:2023-08-07 15:52 + * 描 述:学生年度缴费管理 + */ +var refreshGirdData; +var fSYear; +var bootstrap = function ($, learun) { + "use strict"; + var page = { + init: function () { + page.bind(); + setTimeout(function () { + page.initGird(); + }, 500);//延迟 + }, + bind: function () { + $('#FSYear').lrselect({ + placeholder:"请选择缴费年度", + url: top.$.rootUrl + '/EducationalAdministration/CdMajor/GenerateNearByYear', + value: 'value', + text: 'text' + }); + var now = new Date(); + fSYear = now.getFullYear(); + $('#FSYear').lrselectSet(fSYear); + $('#btn_Search').on('click', function () { + page.search(); + }); + // 刷新 + $('#lr_refresh').on('click', function () { + location.reload(); + }); + //二维码缴费 + $('#lr_pay').on('click', function () { + var keyValue = $('#gridtable').jfGridValue('FSYId'); + var selectedRow = $('#gridtable').jfGridGet('rowdata'); + if (learun.checkrow(keyValue)) { + if (selectedRow.PayFeeStatus == "1") { + learun.alert.warning("当前学生已缴费!"); + return; + } + learun.layerForm({ + id: 'form_payCode', + title: '二维码缴费', + url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYear/PayFeeForm?keyValue=' + keyValue, + width: 800, + height: 690, + btn: null + }); + } + }); + + }, + // 初始化列表 + initGird: function () { + $('#gridtable').jfGrid({ + url: top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYear/GetPageList', + headData: [ + { label: "学号", name: "StuNo", width: 100, align: "left" }, + { label: "姓名", name: "StuName", width: 100, align: "left" }, + { + label: "性别", name: "GenderNo", width: 80, align: "left", + formatter: function (cellvalue) { + return cellvalue == true ? "男" : "女"; + } + }, + { label: "身份证号", name: "IdentityCardNo", width: 100, align: "left" }, + { + label: "系所", name: "DeptNo", width: 100, align: "left", + formatterAsync: function (callback, value, row, op, $cell) { + learun.clientdata.getAsync('custmerData', { + url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo', + key: value, + keyId: 'deptno', + callback: function (_data) { + callback(_data['deptname']); + } + }); + } + }, + { + label: "专业", name: "MajorNo", width: 100, align: "left", + formatterAsync: function (callback, value, row, op, $cell) { + learun.clientdata.getAsync('custmerData', { + url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', + key: value, + keyId: 'majorno', + callback: function (_data) { + callback(_data['majorname']); + } + }); + } + }, + { + label: "班级", name: "ClassNo", width: 100, align: "left", + formatterAsync: function (callback, value, row, op, $cell) { + learun.clientdata.getAsync('custmerData', { + url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj', + key: value, + keyId: 'classno', + callback: function (_data) { + callback(_data['classname']); + } + }); + } + }, + { label: "年级", name: "Grade", width: 100, align: "left" }, + { label: "缴费年度", name: "FSYear", width: 100, align: "left" }, + { label: "应缴金额", name: "YJAmount", width: 100, align: "left" }, + { label: "实缴金额", name: "SJAmount", width: 100, align: "left" }, + { label: "缴费年度余额", name: "FSBlance", width: 100, align: "left" }, + { + label: "缴费状态", name: "PayFeeStatus", width: 100, align: "left", + formatter: function (cellvalue, row) { + if (cellvalue === 0) { + return '未缴费'; + } else if (cellvalue === 1) { + return '已缴费'; + } else { + return '部分缴纳'; + } + } + }, + ], + mainId: 'FSYId', + isPage: true + }); + page.search(); + }, + search: function (param) { + param = param || {}; + var userinfo = learun.clientdata.get(['userinfo']); + param.StuNo = userinfo.account; + param.F_CheckMark = 1; + param.FSYear = $("#FSYear").lrselectGet(); + $('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); + } + }; + refreshGirdData = function () { + $('#gridtable').jfGridSet('reload'); + }; + page.init(); +} diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/PayFeeForm.cshtml b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/PayFeeForm.cshtml new file mode 100644 index 000000000..9da091aef --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/PayFeeForm.cshtml @@ -0,0 +1,50 @@ +@{ + ViewBag.Title = "新生缴费管理"; + Layout = "~/Views/Shared/_Form.cshtml"; +} + +
+
费用明细
+
+
+
支付
+
取消
+
查询缴费结果
+
+
+ 注意:1.点击【支付】按钮使用手机支付宝、微信扫描右上角二维码进行支付。
2.请于支付成功5分钟后,点击【查询缴费结果】或关闭本窗口刷新列表获取缴费结果。
3.发票会在缴费结果变更后开具。
+
+
+@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/PayFeeForm.js") \ No newline at end of file diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/PayFeeForm.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/PayFeeForm.js new file mode 100644 index 000000000..c98eba03e --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYear/PayFeeForm.js @@ -0,0 +1,162 @@ +/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) + * Copyright (c) 2013-2018 北京泉江科技有限公司 + * 创建人:超级管理员 + * 日 期:2019-08-08 17:21 + * 描 述:老生缴费管理 + */ +var acceptClick; +var keyValue = request('keyValue'); +var PayFeeTotal = 0;//应交费用 +var SJAmount = 0;//已交费用 +var bootstrap = function ($, learun) { + "use strict"; + var page = { + init: function () { + $('.lr-form-wrap').lrscroll(); + page.bind(); + page.initData(); + }, + bind: function () { + //获取缴费二维码 + $('#confirmPayFee').click(function () { + if (parseFloat($('#PayMoney').html()) === 0) { + return learun.alert.warning("所交费用不能为0!"); + } + if (parseFloat($('#PayMoney').html()) > PayFeeTotal) { + return learun.alert.warning("所交费用超出应交费用!"); + } + if (SJAmount > 0) { + learun.layerConfirm('当前年度已存在缴费记录,是否继续缴费!', + function (res) { + if (!res) { + return false; + } else { + page.getQRCode(); + } + }); + } else { + page.getQRCode(); + } + + }); + //取消缴费 + $('#cancelPayFee').click(function () { + learun.layerClose(window.name); + }); + $('#queryPayFee').click(function () { + location.reload(); + }); + + //计算实交金额 + $('table').on('change', + '.paydetail', + function () { + var num = 0; + num = parseFloat(num); + $(".paydetail").each(function (i, item) { + var val = 0; + if (!!$(this).val()) { + val = parseFloat($(this).val()).toFixed(2); + } + num += parseFloat(val); + }); + $('#PayMoney').html(parseFloat(num).toFixed(2)); + }); + }, + initData: function () { + if (!!keyValue) { + $.lrSetForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYear/GetPayFeeDetail?keyValue=' + keyValue, function (data) { + if (data['FinaChargesStandardList'].length == 0) { + learun.alert.warning("未查询到该学生收费明细!请先维护收费明细。"); + learun.layerClose(window.name); + return; + } + var StuInfoFresh = data['StuInfoFreshData']; + var className = ""; + learun.clientdata.getAsync('custmerData', { + url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj', + key: StuInfoFresh.ClassNo, + keyId: 'classno', + callback: function (_data) { + className = _data['classname']; + if (!className) { + className = "未知"; + } + } + }); + var deptName = ""; + learun.clientdata.getAsync('custmerData', { + url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo', + key: StuInfoFresh.DeptNo, + keyId: 'deptno', + callback: function (_data) { + deptName = _data['deptname']; + if (!deptName) { + deptName = "未知"; + } + } + }); + PayFeeTotal = parseFloat(data['PayFeeTotal']); + SJAmount = parseFloat(data['SJAmount']); + var html = "学号" + StuInfoFresh.StuNo + ""; + html += "姓名 " + StuInfoFresh.StuName + ""; + html += "班级" + className + ""; + html += "系别" + deptName + ""; + html += "缴费年度" + StuInfoFresh.FSYear + ""; + + html += '缴费项目收费标准本次实缴'; + $.each(data['FinaChargesStandardList'], function (i, item) { + html += '' + item.ChargeItemName + '' + item.Standard + '元' + + ''; + }); + + html += '应缴合计' + data['PayFeeTotal'] + '元' + PayFeeTotal + ''; + html += '  '; + html += '已缴金额' + SJAmount + ''; + $('#PayFeeDetail').html(html); + }); + } + }, + getQRCode: function () { + var list = []; + var ifisnull = false; + $('.paydetail').each(function (i, item) { + var value = 0; + if (!!$(this).val()) { + value = parseFloat($(this).val()); + } else { + ifisnull = true; + } + var entity = { + ChargeItemName: ($(this).attr('data-name')).replace(/^\s*|\s*$/g, ""), + ChargeItemCode: $(this).attr('id'), + YJAmount: $(this).attr('data-amount'), + SJAmount: value + }; + list.push(entity); + }); + if (ifisnull) { + learun.alert.warning("收费项目金额不能为空!请检查并填写。"); + return; + } + $('.paydetail').each(function(i, item) { + $(this).attr('disabled', 'disabled'); + }); + var param = {}; + param.FSYId = keyValue; + param.StuNo = $('#StuNo').html(); + param.FSYear = $('#FSYear').html(); + param.PayMoney = $('#PayMoney').html(); + learun.loading(true, '正在生成付款信息请稍等...'); + $("#confirmPayFee").hide(); + learun.httpAsyncPost(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargeStuYear/PayFeeQRCode', { strEntity: JSON.stringify(param), detailList: JSON.stringify(list) }, function (res) { + learun.loading(false); + $('#qrcodeImg').attr('src', res.info); + }); + } + }; + + + page.init(); +} diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYearItem/Index.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYearItem/Index.js index 5c84c419b..f25df5bc0 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYearItem/Index.js +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/FinaChargeStuYearItem/Index.js @@ -143,7 +143,7 @@ var bootstrap = function ($, learun) { }, { label: "收费标准", name: "Standard", width: 100, align: "left" }, { label: "实缴金额", name: "SJAmount", width: 100, align: "left" }, - { label: "应缴余额", name: "FSBlance", width: 100, align: "left" }, + { label: "缴费余额", name: "FSBlance", width: 100, align: "left" }, { label: "缴费状态", name: "PayFeeStatus", width: 100, align: "left", formatterAsync: function (callback, value, row, op, $cell) { diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/缴费订单明细/Form.cshtml b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/缴费订单明细/Form.cshtml new file mode 100644 index 000000000..62c5f1340 --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/缴费订单明细/Form.cshtml @@ -0,0 +1,31 @@ +@{ + ViewBag.Title = "FinaChargeStuOrderDetail"; + Layout = "~/Views/Shared/_Form.cshtml"; +} +
+
+
收费项目编号
+ +
+
+
收费项目名称
+ +
+
+
应缴金额
+ +
+
+
实缴金额
+ +
+
+
待缴金额
+ +
+
+
超出余额
+ +
+
+@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/缴费订单明细/Form.js") diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/缴费订单明细/Form.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/缴费订单明细/Form.js new file mode 100644 index 000000000..63a907947 --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/缴费订单明细/Form.js @@ -0,0 +1,50 @@ +/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) + * Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 + * 创建人:超级管理员 + * 日 期:2023-08-12 22:14 + * 描 述:FinaChargeStuOrderDetail + */ +var acceptClick; +var keyValue = request('keyValue'); +var bootstrap = function ($, learun) { + "use strict"; + var page = { + init: function () { + $('.lr-form-wrap').lrscroll(); + page.bind(); + page.initData(); + }, + bind: function () { + }, + initData: function () { + if (!!keyValue) { + $.lrSetForm(top.$.rootUrl + '/ReceiveSendFeeManagement/缴费订单明细/GetFormData?keyValue=' + keyValue, function (data) { + for (var id in data) { + if (!!data[id].length && data[id].length > 0) { + $('#' + id ).jfGridSet('refreshdata', data[id]); + } + else { + $('[data-table="' + id + '"]').lrSetFormData(data[id]); + } + } + }); + } + } + }; + // 保存数据 + acceptClick = function (callBack) { + if (!$('body').lrValidform()) { + return false; + } + var postData = { + strEntity: JSON.stringify($('body').lrGetFormData()) + }; + $.lrSaveForm(top.$.rootUrl + '/ReceiveSendFeeManagement/缴费订单明细/SaveForm?keyValue=' + keyValue, postData, function (res) { + // 保存成功后才回调 + if (!!callBack) { + callBack(); + } + }); + }; + page.init(); +} diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/缴费订单明细/Index.cshtml b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/缴费订单明细/Index.cshtml new file mode 100644 index 000000000..39e38f1ab --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/缴费订单明细/Index.cshtml @@ -0,0 +1,21 @@ +@{ + ViewBag.Title = "FinaChargeStuOrderDetail"; + Layout = "~/Views/Shared/_Index.cshtml"; +} +
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+@Html.AppendJsFile("/Areas/ReceiveSendFeeManagement/Views/缴费订单明细/Index.js") diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/缴费订单明细/Index.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/缴费订单明细/Index.js new file mode 100644 index 000000000..83d300086 --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/ReceiveSendFeeManagement/Views/缴费订单明细/Index.js @@ -0,0 +1,47 @@ +/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) + * Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 + * 创建人:超级管理员 + * 日 期:2023-08-12 22:14 + * 描 述:FinaChargeStuOrderDetail + */ +var refreshGirdData; +var bootstrap = function ($, learun) { + "use strict"; + var page = { + init: function () { + page.initGird(); + page.bind(); + }, + bind: function () { + // 刷新 + $('#lr_refresh').on('click', function () { + location.reload(); + }); + }, + // 初始化列表 + initGird: function () { + $('#gridtable').lrAuthorizeJfGrid({ + url: top.$.rootUrl + '/ReceiveSendFeeManagement/缴费订单明细/GetPageList', + headData: [ + { label: "收费项目编号", name: "ChargeItemCode", width: 100, align: "left"}, + { label: "收费项目名称", name: "ChargeItemName", width: 100, align: "left"}, + { label: "应缴金额", name: "YJAmount", width: 100, align: "left"}, + { label: "实缴金额", name: "SJAmount", width: 100, align: "left"}, + { label: "待缴金额", name: "DJAmount", width: 100, align: "left"}, + { label: "超出余额", name: "NowBlance", width: 100, align: "left"}, + ], + mainId:'Id', + isPage: true + }); + page.search(); + }, + search: function (param) { + param = param || {}; + $('#gridtable').jfGridSet('reload',{ queryJson: JSON.stringify(param) }); + } + }; + refreshGirdData = function () { + $('#gridtable').jfGridSet('reload'); + }; + page.init(); +} diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/excel/缴费明细.xls b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/excel/缴费明细.xls index 3f48d912442b1fed063e8ae1578366722efd9ac4..88b2f9a322f5379c358dadf538224815414b827f 100644 GIT binary patch delta 1570 zcmchXPiPZC6vp3dlTFr`uw6H4n>NJ=y@=SP*|d>J`~!;zK@S0~dMFf%LG)BX5MhHF z6)F;Z^i+!%LC`i8MUJG8O9&*S{#2)LxgTyy6q-)&)QRpnoz;AZm_ue=Ard(&` zI(xNOVe34sn9Mn-u(?acvuQA)0RTa$GMeDtfABZ7zvcX097hP37=s+VQ+5g;l5n4d zH^4iND6H4JFo)#5Gd(Kd1y9c4m`4F3Ak?*|5h`Sb;uI&gdxrbW}K@ zxxeQLe?oCo!rxlD@V_(G_BY9yUE*XyckHTgM>Q|ze-y@iU=SY#&210G?=Ob$>F*wP z`Lcw+knoy>FSt2**cDiDFSz)UgfB|?oP>KN6cQD81o%tse2;IlqCMwo*yzE6q2uX3 z8>jkhoE@<7e%!`|K^s?wY^)N0M!Zh^1Mw#DE#e=EegOB)TbGu zVdEJii;J-fcvGLoji`>N%nDAJIwqs@cq^8~YDCAk(PTS;hMC2F`c5RHQt&thKTN?- zlIS@SxIzM-DCX;Z^O&IbbMy|sniw)hVx!_TRVbEbX0E3z5P{(_7a0?zhRdVHz*4(m zR1BmZ;PF%dS5ps%*UJo4>Z6ciicReyZrDf~pq9pp^@O+5lMF9sB4N>PLFHE)s(3py z<=>!)CEUtb5kK`U&~@UcN7HcJ$_{LYc6Tm7ir=+vu()h_&EnDVuMDdbCm!ckeb;7{ QCV!vHA7BOk{bGRq1ZP}3V*mgE delta 1621 zcmc(ePiPZC6vp3dlij3gV*Z&lZGu)P2uhRfCMC7Sim-T$7@??#f;1%u1w|=Zm5oS6 zh(hrZQB-;ojBQn1kqQ>g#j8iL1nJdF>m`VY)Hj=;OS=oAptGk2MbsqOe1^ioetaZy_TH8h{XZ;hSHWCh;v_UW2qUqZ4%lojRlBWaz>wWb47V2 z+~#;a;YOOGWr8iqt}J4#~D^58T=OT<9I~Hscsby$1C`{yMoo|H1@_+?CX4hj#v-giTd$V z{0i1O75o@Ef-fkiPV+ncD!vVS571|N*|n@B$=Yq*fiOYcCU z2??dtwU7u-evbwUgE!9KUY)#fu{?^YR1|Net|w|G2BHYy5t>(vuf~57Sq50sN8|?E zbqPAaNe_6pkTo^I$KOU6S + + @@ -1632,6 +1634,8 @@ + + @@ -6663,6 +6667,14 @@ + + + + + + + + @@ -7967,6 +7979,8 @@ + + diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/Learun.Application.Mapping.csproj b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/Learun.Application.Mapping.csproj index e3a07e41a..84d303534 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/Learun.Application.Mapping.csproj +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/Learun.Application.Mapping.csproj @@ -593,6 +593,8 @@ + + diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/ReceiveSendFeeManagement/FinaChargeStuOrderDetailMap.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/ReceiveSendFeeManagement/FinaChargeStuOrderDetailMap.cs new file mode 100644 index 000000000..5dbd1f7b8 --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/ReceiveSendFeeManagement/FinaChargeStuOrderDetailMap.cs @@ -0,0 +1,29 @@ +using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; +using System.Data.Entity.ModelConfiguration; + +namespace Learun.Application.Mapping +{ + /// + /// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 + /// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 + /// 创 建:超级管理员 + /// 日 期:2023-08-12 22:14 + /// 描 述:FinaChargeStuOrderDetail + /// + public class FinaChargeStuOrderDetailMap : EntityTypeConfiguration + { + public FinaChargeStuOrderDetailMap() + { + #region 表、主键 + //表 + this.ToTable("FINACHARGESTUORDERDETAIL"); + //主键 + this.HasKey(t => t.Id); + #endregion + + #region 配置关系 + #endregion + } + } +} + diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/ReceiveSendFeeManagement/FinaChargeStuOrderMap.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/ReceiveSendFeeManagement/FinaChargeStuOrderMap.cs new file mode 100644 index 000000000..dde5fd77e --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/ReceiveSendFeeManagement/FinaChargeStuOrderMap.cs @@ -0,0 +1,29 @@ +using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; +using System.Data.Entity.ModelConfiguration; + +namespace Learun.Application.Mapping +{ + /// + /// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 + /// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 + /// 创 建:超级管理员 + /// 日 期:2023-08-12 22:06 + /// 描 述:缴费订单管理 + /// + public class FinaChargeStuOrderMap : EntityTypeConfiguration + { + public FinaChargeStuOrderMap() + { + #region 表、主键 + //表 + this.ToTable("FINACHARGESTUORDER"); + //主键 + this.HasKey(t => t.Id); + #endregion + + #region 配置关系 + #endregion + } + } +} + diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/Learun.Application.TwoDevelopment.csproj b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/Learun.Application.TwoDevelopment.csproj index b214ca61b..d3230caef 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/Learun.Application.TwoDevelopment.csproj +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/Learun.Application.TwoDevelopment.csproj @@ -1846,6 +1846,14 @@ + + + + + + + + diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuOrder/FinaChargeStuOrderBLL.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuOrder/FinaChargeStuOrderBLL.cs new file mode 100644 index 000000000..148f651b0 --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuOrder/FinaChargeStuOrderBLL.cs @@ -0,0 +1,144 @@ +using Learun.Util; +using System; +using System.Data; +using System.Collections.Generic; + +namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement +{ + /// + /// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 + /// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 + /// 创 建:超级管理员 + /// 日 期:2023-08-12 22:06 + /// 描 述:缴费订单管理 + /// + public class FinaChargeStuOrderBLL : FinaChargeStuOrderIBLL + { + private FinaChargeStuOrderService finaChargeStuOrderService = new FinaChargeStuOrderService(); + + #region 获取数据 + + /// + /// 获取页面显示列表数据 + /// + /// 分页参数 + /// 查询参数 + /// + public IEnumerable GetPageList(Pagination pagination, string queryJson) + { + try + { + return finaChargeStuOrderService.GetPageList(pagination, queryJson); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowBusinessException(ex); + } + } + } + + /// + /// 获取FinaChargeStuOrder表实体数据 + /// + /// 主键 + /// + public FinaChargeStuOrderEntity GetFinaChargeStuOrderEntity(string keyValue) + { + try + { + return finaChargeStuOrderService.GetFinaChargeStuOrderEntity(keyValue); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowBusinessException(ex); + } + } + } + + #endregion + + #region 提交数据 + + /// + /// 删除实体数据 + /// + /// 主键 + public void DeleteEntity(string keyValue) + { + try + { + finaChargeStuOrderService.DeleteEntity(keyValue); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowBusinessException(ex); + } + } + } + + /// + /// 保存实体数据(新增、修改) + /// + /// 主键 + /// 实体 + /// + public void SaveEntity(string keyValue, FinaChargeStuOrderEntity entity) + { + try + { + finaChargeStuOrderService.SaveEntity(keyValue, entity); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowBusinessException(ex); + } + } + } + + public void SaveOrderData(FinaChargeStuYearEntity entity, List list) + { + try + { + finaChargeStuOrderService.SaveOrderData( entity,list); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowBusinessException(ex); + } + } + } + + #endregion + + } +} diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuOrder/FinaChargeStuOrderEntity.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuOrder/FinaChargeStuOrderEntity.cs new file mode 100644 index 000000000..b83cd0a13 --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuOrder/FinaChargeStuOrderEntity.cs @@ -0,0 +1,116 @@ +using Learun.Util; +using System; +using System.ComponentModel.DataAnnotations.Schema; + +namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement +{ + /// + /// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 + /// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 + /// 创 建:超级管理员 + /// 日 期:2023-08-12 22:06 + /// 描 述:缴费订单管理 + /// + public class FinaChargeStuOrderEntity + { + #region 实体成员 + /// + /// Id + /// + [Column("ID")] + public string Id { get; set; } + /// + /// FSYId + /// + [Column("FSYID")] + public string FSYId { get; set; } + /// + /// 年度 + /// + [Column("YEARNO")] + public int? YearNo { get; set; } + /// + /// 学号 + /// + [Column("STUNO")] + public string StuNo { get; set; } + /// + /// 订单编号 + /// + [Column("ORDERID")] + public string orderid { get; set; } + /// + /// 应交金额 + /// + [Column("YJAMOUNT")] + public decimal? YJAmount { get; set; } + /// + /// 实交金额 + /// + [Column("SJAMOUNT")] + public decimal? SJAmount { get; set; } + /// + /// 待缴金额 + /// + [Column("DJAMOUNT")] + public decimal? DJAmount { get; set; } + /// + /// 超出余额 + /// + [Column("NOWBLANCE")] + public decimal? NowBlance { get; set; } + /// + /// 缴费订单状态(0未支付,1已支付) + /// + [Column("STATUS")] + public int? Status { get; set; } + /// + /// 下单时间 + /// + [Column("PLACEORDERTIME")] + public DateTime? PlaceOrderTime { get; set; } + /// + /// 付款时间 + /// + [Column("PAYTIME")] + public DateTime? PayTime { get; set; } + /// + /// 付款方式 + /// + [Column("PAYMODE")] + public string PayMode { get; set; } + /// + /// 订单来源(1二维码缴费,2人工导入) + /// + [Column("ORDERTYPE")] + public int? OrderType { get; set; } + /// + /// 银行流水号 + /// + [Column("BANKORDER")] + public string BankOrder { get; set; } + #endregion + + #region 扩展操作 + /// + /// 新增调用 + /// + public void Create() + { + this.Id = Guid.NewGuid().ToString(); + NowBlance = 0; + } + /// + /// 编辑调用 + /// + /// + public void Modify(string keyValue) + { + this.Id = keyValue; + } + #endregion + #region 扩展字段 + #endregion + } +} + diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuOrder/FinaChargeStuOrderIBLL.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuOrder/FinaChargeStuOrderIBLL.cs new file mode 100644 index 000000000..9070d914e --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuOrder/FinaChargeStuOrderIBLL.cs @@ -0,0 +1,49 @@ +using Learun.Util; +using System.Data; +using System.Collections.Generic; + +namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement +{ + /// + /// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 + /// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 + /// 创 建:超级管理员 + /// 日 期:2023-08-12 22:06 + /// 描 述:缴费订单管理 + /// + public interface FinaChargeStuOrderIBLL + { + #region 获取数据 + + /// + /// 获取页面显示列表数据 + /// + /// 查询参数 + /// + IEnumerable GetPageList(Pagination pagination, string queryJson); + /// + /// 获取FinaChargeStuOrder表实体数据 + /// + /// 主键 + /// + FinaChargeStuOrderEntity GetFinaChargeStuOrderEntity(string keyValue); + #endregion + + #region 提交数据 + + /// + /// 删除实体数据 + /// + /// 主键 + void DeleteEntity(string keyValue); + /// + /// 保存实体数据(新增、修改) + /// + /// 主键 + /// 实体 + void SaveEntity(string keyValue, FinaChargeStuOrderEntity entity); + #endregion + + void SaveOrderData(FinaChargeStuYearEntity entity, List list); + } +} diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuOrder/FinaChargeStuOrderService.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuOrder/FinaChargeStuOrderService.cs new file mode 100644 index 000000000..408989bd9 --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuOrder/FinaChargeStuOrderService.cs @@ -0,0 +1,252 @@ +using Dapper; +using Learun.DataBase.Repository; +using Learun.Util; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; + +namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement +{ + /// + /// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 + /// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 + /// 创 建:超级管理员 + /// 日 期:2023-08-12 22:06 + /// 描 述:缴费订单管理 + /// + public class FinaChargeStuOrderService : RepositoryFactory + { + #region 获取数据 + + /// + /// 获取页面显示列表数据 + /// + /// 查询参数 + /// 查询参数 + /// + public IEnumerable GetPageList(Pagination pagination, string queryJson) + { + try + { + var strSql = new StringBuilder(); + strSql.Append("SELECT "); + strSql.Append(@" + t.Id, + t.YearNo, + t.StuNo, + t.orderid, + t.YJAmount, + t.SJAmount, + t.DJAmount, + t.NowBlance, + t.Status, + t.PlaceOrderTime, + t.PayTime, + t.PayMode, + t.OrderType, + t.BankOrder + "); + strSql.Append(" FROM FinaChargeStuOrder t "); + strSql.Append(" WHERE 1=1 "); + var queryParam = queryJson.ToJObject(); + // 虚拟参数 + var dp = new DynamicParameters(new { }); + if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty()) + { + dp.Add("startTime", queryParam["StartTime"].ToDate(), DbType.DateTime); + dp.Add("endTime", queryParam["EndTime"].ToDate(), DbType.DateTime); + strSql.Append(" AND ( t.PayTime >= @startTime AND t.PayTime <= @endTime ) "); + } + if (!queryParam["YearNo"].IsEmpty()) + { + dp.Add("YearNo", "%" + queryParam["YearNo"].ToString() + "%", DbType.String); + strSql.Append(" AND t.YearNo Like @YearNo "); + } + if (!queryParam["StuNo"].IsEmpty()) + { + dp.Add("StuNo", "%" + queryParam["StuNo"].ToString() + "%", DbType.String); + strSql.Append(" AND t.StuNo Like @StuNo "); + } + if (!queryParam["Status"].IsEmpty()) + { + dp.Add("Status", queryParam["Status"].ToString(), DbType.String); + strSql.Append(" AND t.Status = @Status "); + } + if (!queryParam["PayMode"].IsEmpty()) + { + dp.Add("PayMode", queryParam["PayMode"].ToString(), DbType.String); + strSql.Append(" AND t.PayMode = @PayMode "); + } + if (!queryParam["OrderType"].IsEmpty()) + { + dp.Add("OrderType", queryParam["OrderType"].ToString(), DbType.String); + strSql.Append(" AND t.OrderType = @OrderType "); + } + if (!queryParam["BankOrder"].IsEmpty()) + { + dp.Add("BankOrder", "%" + queryParam["BankOrder"].ToString() + "%", DbType.String); + strSql.Append(" AND t.BankOrder Like @BankOrder "); + } + return this.BaseRepository("CollegeMIS").FindList(strSql.ToString(), dp, pagination); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowServiceException(ex); + } + } + } + + /// + /// 获取FinaChargeStuOrder表实体数据 + /// + /// 主键 + /// + public FinaChargeStuOrderEntity GetFinaChargeStuOrderEntity(string keyValue) + { + try + { + return this.BaseRepository("CollegeMIS").FindEntity(keyValue); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowServiceException(ex); + } + } + } + + #endregion + + #region 提交数据 + + /// + /// 删除实体数据 + /// + /// 主键 + public void DeleteEntity(string keyValue) + { + try + { + this.BaseRepository("CollegeMIS").Delete(t => t.Id == keyValue); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowServiceException(ex); + } + } + } + + /// + /// 保存实体数据(新增、修改) + /// + /// 主键 + /// 实体 + public void SaveEntity(string keyValue, FinaChargeStuOrderEntity entity) + { + try + { + if (!string.IsNullOrEmpty(keyValue)) + { + entity.Modify(keyValue); + this.BaseRepository("CollegeMIS").Update(entity); + } + else + { + entity.Create(); + this.BaseRepository("CollegeMIS").Insert(entity); + } + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowServiceException(ex); + } + } + } + + #endregion + + /// + /// 二维码缴费下单 + /// + /// + /// + public void SaveOrderData(FinaChargeStuYearEntity entity, List list) + { + var db = this.BaseRepository("CollegeMIS"); + try + { + db.BeginTrans(); + //保存缴费订单数据 + var order = new FinaChargeStuOrderEntity(); + order.Create(); + order.FSYId = entity.FSYId; + order.YearNo = entity.FSYear; + order.StuNo = entity.StuNo; + order.orderid = entity.orderid; + order.YJAmount = list.Sum(x => x.YJAmount); + order.SJAmount = list.Sum(x => x.SJAmount); + order.DJAmount = order.YJAmount - order.SJAmount; + if (order.DJAmount<0) + { + order.NowBlance = Math.Abs(order.DJAmount.Value); + order.DJAmount = 0; + } + order.PlaceOrderTime = DateTime.Now; + order.Status = 0; + order.OrderType = 1; + db.Insert(order); + //订单明细 + foreach (var detail in list) + { + detail.Create(); + detail.FCSOId = order.Id; + detail.DJAmount = detail.YJAmount - detail.SJAmount; + if (detail.DJAmount < 0) + { + detail.NowBlance = Math.Abs(detail.DJAmount.Value); + detail.DJAmount = 0; + } + db.Insert(detail); + } + db.Commit(); + } + catch (Exception ex) + { + db.Rollback(); + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowServiceException(ex); + } + } + } + } +} diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYear/FinaChargeStuYearBLL.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYear/FinaChargeStuYearBLL.cs index da155cf25..9a6098b40 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYear/FinaChargeStuYearBLL.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYear/FinaChargeStuYearBLL.cs @@ -173,6 +173,25 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement } } + public IEnumerable GetFinaChargeStuItemList(string keyValue) + { + try + { + return finaChargeStuYearService.GetFinaChargeStuItemList(keyValue); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowBusinessException(ex); + } + } + } + #endregion } diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYear/FinaChargeStuYearEntity.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYear/FinaChargeStuYearEntity.cs index 34594d136..c620b5b70 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYear/FinaChargeStuYearEntity.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYear/FinaChargeStuYearEntity.cs @@ -30,17 +30,17 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement [Column("FSYEAR")] public int? FSYear { get; set; } /// - /// YJAmount + /// 应缴金额(收费标准) /// [Column("YJAMOUNT")] public decimal? YJAmount { get; set; } /// - /// SJAmount + /// 实缴金额(已缴金额) /// [Column("SJAMOUNT")] public decimal? SJAmount { get; set; } /// - /// 缴费年度余额 + /// 缴费年度余额(剩余应缴金额) /// [Column("FSBLANCE")] public decimal? FSBlance { get; set; } @@ -81,6 +81,10 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement public string IdentityCardNo { get; set; } [NotMapped] public string StuName { get; set; } + [NotMapped] + public decimal? PayMoney { get; set; } + [NotMapped] + public string orderid { get; set; } #endregion } } diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYear/FinaChargeStuYearIBLL.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYear/FinaChargeStuYearIBLL.cs index 0d396c4b1..7a25da239 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYear/FinaChargeStuYearIBLL.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYear/FinaChargeStuYearIBLL.cs @@ -46,5 +46,11 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement void SaveGenerateByCondition(FinaChargeStuYearEntity entity); List GetTree(); + /// + /// 获取学生缴费明细 + /// + /// + /// + IEnumerable GetFinaChargeStuItemList(string keyValue); } } diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYear/FinaChargeStuYearService.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYear/FinaChargeStuYearService.cs index 16f804bfc..419174c7d 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYear/FinaChargeStuYearService.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYear/FinaChargeStuYearService.cs @@ -77,6 +77,11 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement dp.Add("PayFeeStatus", queryParam["PayFeeStatus"].ToString(), DbType.String); strSql.Append(" AND t.PayFeeStatus = @PayFeeStatus "); } + if (!queryParam["F_CheckMark"].IsEmpty()) + { + dp.Add("F_CheckMark", queryParam["F_CheckMark"].ToString(), DbType.String); + strSql.Append(" AND b.F_CheckMark = @F_CheckMark "); + } return this.BaseRepository("CollegeMIS").FindList(strSql.ToString(), dp, pagination); } catch (Exception ex) @@ -101,7 +106,7 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement { try { - return this.BaseRepository("CollegeMIS").FindEntity(keyValue); + return this.BaseRepository("CollegeMIS").FindEntity("select b.*,a.FSYear,a.YJAmount,a.SJAmount,a.FSBlance,a.PayFeeStatus from FinaChargeStuYear a left join FinaChargeStudent b on a.StuNo=b.StuNo where a.FSYId='"+keyValue+"'",null); } catch (Exception ex) { @@ -116,6 +121,31 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement } } + /// + /// 获取学生缴费明细 + /// + /// + /// + public IEnumerable GetFinaChargeStuItemList(string keyValue) + { + try + { + return this.BaseRepository("CollegeMIS").FindList("select a.StuNo,b.* from FinaChargeStuYear a left join FinaChargeStuYearItem b on a.FSYId=b.FSYId where b.F_DeleteMark=0 and b.FSBlance<0 and a.FSYId='"+keyValue+"' order by ChargeItemCode"); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowServiceException(ex); + } + } + } + + #endregion #region 提交数据 @@ -190,7 +220,7 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement //获取已有年度学生缴费明细记录 var oldFinaChargeStuYearItemList = db.FindList(m => m.FSYear == entity.FSYear); //获取收费标准 - var finaChargesStandardList = db.FindList("select a.Grade,a.DeptNo,a.MajorNo,a.Standard,a.SYear,b.ChargeItemName,b.ChargeItemCode,b.ChargeItemType from [dbo].[FinaChargesStandard] a left join [dbo].[FinaChargeItem] b on a.ChargeItemID=b.[ChargeItemID] where b.ChargeItemType=1 and a.SYear='" + entity.FSYear + "' and a.F_DeleteMark=0 and a.CheckMark=1 and b.CheckMark=1 and b.F_DeleteMark=0"); + var finaChargesStandardList = db.FindList("select a.Grade,a.DeptNo,a.MajorNo,a.Standard,a.SYear,b.ChargeItemName,b.ChargeItemCode,b.ChargeItemType,b.priority from [dbo].[FinaChargesStandard] a left join [dbo].[FinaChargeItem] b on a.ChargeItemID=b.[ChargeItemID] where b.ChargeItemType=1 and a.SYear='" + entity.FSYear + "' and a.F_DeleteMark=0 and a.CheckMark=1 and b.CheckMark=1 and b.F_DeleteMark=0"); var finaChargesStandardListGroup = db.FindList(@"select a.Grade,a.DeptNo,a.MajorNo,sum(isnull(a.Standard,0)) as YJAmount,a.SYear from[dbo].[FinaChargesStandard] a left join[dbo].[FinaChargeItem] b on a.ChargeItemID = b.[ChargeItemID] where b.ChargeItemType=1 and a.SYear='" + entity.FSYear + "' and a.F_DeleteMark=0 and a.CheckMark=1 and b.CheckMark=1 and b.F_DeleteMark=0 group by a.Grade, a.DeptNo, a.MajorNo, a.SYear"); foreach (var stuitem in stulist) @@ -213,6 +243,7 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement finaChargeStuYearItem.ChargeItemCode = finaChargesStandardEntity.ChargeItemCode; finaChargeStuYearItem.ChargeItemName = finaChargesStandardEntity.ChargeItemName; finaChargeStuYearItem.ChargeItemType = finaChargesStandardEntity.ChargeItemType; + finaChargeStuYearItem.priority = finaChargesStandardEntity.priority; finaChargeStuYearItem.Standard = finaChargesStandardEntity.Standard; //主表应缴金额更新 oldFinaChargeStuYearEntity.YJAmount += finaChargeStuYearItem.Standard; @@ -251,6 +282,7 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement finaChargeStuYearItem.ChargeItemCode = finaChargesStandardEntity.ChargeItemCode; finaChargeStuYearItem.ChargeItemName = finaChargesStandardEntity.ChargeItemName; finaChargeStuYearItem.ChargeItemType = finaChargesStandardEntity.ChargeItemType; + finaChargeStuYearItem.priority = finaChargesStandardEntity.priority; finaChargeStuYearItem.Standard = finaChargesStandardEntity.Standard; finaChargeStuYearItem.FSBlance = -finaChargeStuYearItem.Standard; db.Insert(finaChargeStuYearItem); diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYearItem/FinaChargeStuYearItemBLL.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYearItem/FinaChargeStuYearItemBLL.cs index d16277559..551006a22 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYearItem/FinaChargeStuYearItemBLL.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYearItem/FinaChargeStuYearItemBLL.cs @@ -138,7 +138,7 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement } } - public (DataTable failDt, int snum, int fnum) ExecuteImportExcel(DataTable dt, string fileGuid, string queryJson) + public string ExecuteImportExcel(DataTable dt, string fileGuid, string queryJson) { try { diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYearItem/FinaChargeStuYearItemEntity.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYearItem/FinaChargeStuYearItemEntity.cs index 572ecae6c..28c1b1d2f 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYearItem/FinaChargeStuYearItemEntity.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYearItem/FinaChargeStuYearItemEntity.cs @@ -43,6 +43,11 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement [Column("CHARGEITEMTYPE")] public int? ChargeItemType { get; set; } /// + /// 优先级 + /// + [Column("PRIORITY")] + public int? priority { get; set; } + /// /// 收费标准 /// [Column("STANDARD")] diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYearItem/FinaChargeStuYearItemIBLL.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYearItem/FinaChargeStuYearItemIBLL.cs index 552a7e730..321a29c2f 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYearItem/FinaChargeStuYearItemIBLL.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYearItem/FinaChargeStuYearItemIBLL.cs @@ -43,8 +43,8 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement /// 实体 void SaveEntity(string keyValue, FinaChargeStuYearItemEntity entity); #endregion - + void UnDeleteEntity(string keyValue); - (DataTable failDt, int snum, int fnum) ExecuteImportExcel(DataTable dt, string fileGuid, string queryJson); + string ExecuteImportExcel(DataTable dt, string fileGuid, string queryJson); } } diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYearItem/FinaChargeStuYearItemService.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYearItem/FinaChargeStuYearItemService.cs index cbb92f7bb..d93f24a2f 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYearItem/FinaChargeStuYearItemService.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargeStuYearItem/FinaChargeStuYearItemService.cs @@ -4,6 +4,7 @@ using Learun.Util; using System; using System.Collections.Generic; using System.Data; +using System.Linq; using System.Text; using Learun.Cache.Base; using Learun.Cache.Factory; @@ -220,7 +221,7 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement #endregion - public (DataTable failDt, int snum, int fnum) ExecuteImportExcel(DataTable dt, string fileGuid, string queryJson) + public string ExecuteImportExcel(DataTable dt, string fileGuid, string queryJson) { var db = this.BaseRepository("CollegeMIS").BeginTrans(); try @@ -237,56 +238,150 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement { failDt.Columns.Add(dc.ColumnName, dc.DataType); } + //获取收费标准 非固定项目 + var finaChargesStandardList = db.FindList("select a.Grade,a.DeptNo,a.MajorNo,a.Standard,a.SYear,b.ChargeItemName,b.ChargeItemCode,b.ChargeItemType,b.priority from [dbo].[FinaChargesStandard] a left join [dbo].[FinaChargeItem] b on a.ChargeItemID=b.[ChargeItemID] where b.ChargeItemType=2 and a.F_DeleteMark=0 and a.CheckMark=1 and b.CheckMark=1 and b.F_DeleteMark=0"); + //var finaChargesStandardListGroup = db.FindList(@"select a.Grade,a.DeptNo,a.MajorNo,sum(isnull(a.Standard,0)) as YJAmount,a.SYear + // from[dbo].[FinaChargesStandard] a left join[dbo].[FinaChargeItem] b on a.ChargeItemID = b.[ChargeItemID] where b.ChargeItemType=2 and a.F_DeleteMark=0 and a.CheckMark=1 and b.CheckMark=1 and b.F_DeleteMark=0 group by a.Grade, a.DeptNo, a.MajorNo, a.SYear"); + //获取已有年度学生缴费记录 + var oldFinaChargeStuYearList = db.FindList(); + //获取已有年度学生缴费明细记录 + var oldFinaChargeStuYearItemList = db.FindList("select a.*,b.StuNo from FinaChargeStuYearItem a left join FinaChargeStuYear b on a.FSYId=b.FSYId "); // 循环遍历导入 foreach (DataRow dr in dt.Rows) { - //检测是否有空值 - if (dr[0].ToString() == "" || dr[1].ToString() == "" || dr[2].ToString() == "" || dr[3].ToString() == "" || dr[4].ToString() == "" || dr[5].ToString() == ""||dr[6].ToString() == "") - { - throw (new Exception("行内数据有空值,不能为空!")); - } - //检测缴费年度是否为数字 - decimal payyearresult = 0; - bool parsepayyearresult = decimal.TryParse(dr[0].ToString(), out payyearresult); - if (!parsepayyearresult || dr[0].ToString().Length != 4) - { - throw (new Exception("【缴费年度】格式不正确,必须为四位数字年份!")); - } - //首先校验金额是否为数字 - //第六列是金额 - decimal dresult = 0; - bool parseresult = decimal.TryParse(dr[5].ToString(), out dresult); - if (!parseresult) - { - throw (new Exception("【金额】转换失败,必须为数字!")); - } - //金额不能小于等于零 - if (dresult <= 0) + try { - throw (new Exception("【金额】不能为零或小于零,必须为正数!")); + FinaChargeStudentEntity finaChargeStudentEntity = null; + FinaChargesStandardEntity finaChargesStandardEntity = null; + //检测是否有空值 + if (dr[0].ToString() == "" || dr[1].ToString() == "" || dr[2].ToString() == "" || dr[3].ToString() == "" || dr[4].ToString() == "" || dr[5].ToString() == "") + { + throw new Exception("行内数据有空值,不能为空!"); + } + //检测缴费年度是否为数字 + decimal payyearresult = 0; + bool parsepayyearresult = decimal.TryParse(dr[2].ToString(), out payyearresult); + if (!parsepayyearresult || dr[2].ToString().Length != 4) + { + throw new Exception("【缴费年度】格式不正确,必须为四位数字年份!"); + } + //首先校验金额是否为数字 + decimal dresult = 0; + bool parseresult = decimal.TryParse(dr[5].ToString(), out dresult); + if (!parseresult) + { + throw new Exception("【金额】转换失败,必须为数字!"); + } + //金额不能小于等于零 + if (dresult <= 0) + { + throw new Exception("【金额】不能为零或小于零,必须为正数!"); + } + //筛选不在标准代码表内的数据 + if (finaChargesStandardList.Count(m => m.ChargeItemCode == dr[3].ToString()&&m.ChargeItemName== dr[4].ToString()) == 0) + { + throw new Exception("【收费项目】不存在,请核对!"); + } + //筛选不在收费学生表内的数据 + finaChargeStudentEntity = stulist.FirstOrDefault(m => m.StuNo == dr[0].ToString()&&m.StuName== dr[1].ToString()); + if (finaChargeStudentEntity == null) + { + throw new Exception("【收费学生】不存在,请核对!"); + } + else + { + //筛选有无对应专业收费标准的数据 + finaChargesStandardEntity = finaChargesStandardList.FirstOrDefault(m => + m.DeptNo == finaChargeStudentEntity.DeptNo && + m.MajorNo == finaChargeStudentEntity.MajorNo && m.SYear == payyearresult && + m.Grade == finaChargeStudentEntity.Grade && m.ChargeItemCode == dr[3].ToString()&&m.ChargeItemName== dr[4].ToString()); + if (finaChargesStandardEntity == null) + { + throw new Exception("【专业年度收费标准】不存在,请核对!"); + } + } + //开始导入操作 + //查询有无学生年度缴费数据 + FinaChargeStuYearEntity oldFinaChargeStuYearEntity = + oldFinaChargeStuYearList.FirstOrDefault(m => + m.StuNo == finaChargeStudentEntity.StuNo && + m.FSYear == finaChargesStandardEntity.SYear); + if (oldFinaChargeStuYearEntity==null) + { + //无数据新增主表 + var finaChargeStuYear = new FinaChargeStuYearEntity(); + finaChargeStuYear.Create(); + finaChargeStuYear.StuNo = finaChargeStudentEntity.StuNo; + finaChargeStuYear.FSYear = finaChargesStandardEntity.SYear; + finaChargeStuYear.SJAmount = 0; + finaChargeStuYear.PayFeeStatus = 0; + //子表 + var finaChargeStuYearItem = new FinaChargeStuYearItemEntity(); + finaChargeStuYearItem.Create(); + finaChargeStuYearItem.FSYId = finaChargeStuYear.FSYId; + finaChargeStuYearItem.FSYear = finaChargeStuYear.FSYear; + finaChargeStuYearItem.ChargeItemCode = finaChargesStandardEntity.ChargeItemCode; + finaChargeStuYearItem.ChargeItemName = finaChargesStandardEntity.ChargeItemName; + finaChargeStuYearItem.ChargeItemType = finaChargesStandardEntity.ChargeItemType; + finaChargeStuYearItem.priority = finaChargesStandardEntity.priority; + finaChargeStuYearItem.Standard = finaChargesStandardEntity.Standard; + finaChargeStuYearItem.FSBlance = -finaChargeStuYearItem.Standard; + db.Insert(finaChargeStuYearItem); + finaChargeStuYear.YJAmount = finaChargeStuYearItem.Standard; + finaChargeStuYear.FSBlance = -finaChargeStuYear.YJAmount; + db.Insert(finaChargeStuYear); + } + else + { + //查询子表有无记录 + if (oldFinaChargeStuYearItemList.Count(m=>m.StuNo== finaChargeStudentEntity.StuNo&&m.FSYear == finaChargesStandardEntity.SYear&&m.ChargeItemCode== finaChargesStandardEntity.ChargeItemCode) ==0) + { + //子表 + var finaChargeStuYearItem = new FinaChargeStuYearItemEntity(); + finaChargeStuYearItem.Create(); + finaChargeStuYearItem.FSYId = oldFinaChargeStuYearEntity.FSYId; + finaChargeStuYearItem.FSYear = oldFinaChargeStuYearEntity.FSYear; + finaChargeStuYearItem.ChargeItemCode = finaChargesStandardEntity.ChargeItemCode; + finaChargeStuYearItem.ChargeItemName = finaChargesStandardEntity.ChargeItemName; + finaChargeStuYearItem.ChargeItemType = finaChargesStandardEntity.ChargeItemType; + finaChargeStuYearItem.priority = finaChargesStandardEntity.priority; + finaChargeStuYearItem.Standard = finaChargesStandardEntity.Standard; + finaChargeStuYearItem.FSBlance = -finaChargeStuYearItem.Standard; + db.Insert(finaChargeStuYearItem); + //更新主表 + oldFinaChargeStuYearEntity.YJAmount+= finaChargeStuYearItem.Standard; + oldFinaChargeStuYearEntity.FSBlance = -oldFinaChargeStuYearEntity.YJAmount; + db.Update(oldFinaChargeStuYearEntity); + } + else + { + throw new Exception("【学生收费明细】已存在,请核对!"); + } + } } - //筛选不在标准代码表内的数据 - //第五列是项目编码 - if (typecodelist.Count(m => m.ProjectCode == dr[4].ToString()) == 0) + catch (Exception ex) { - throw (new Exception("【缴费项目编码】不存在,请核对!")); + fnum++; + dr["导入错误"] = ex.Message; + failDt.Rows.Add(dr.ItemArray); } } - - //获取已有年度学生缴费记录 - var oldFinaChargeStuYearList = db.FindList(m => m.FSYear == entity.FSYear); - //获取已有年度学生缴费明细记录 - var oldFinaChargeStuYearItemList = db.FindList(m => m.FSYear == entity.FSYear); - //获取收费标准 - var finaChargesStandardList = db.FindList("select a.Grade,a.DeptNo,a.MajorNo,a.Standard,a.SYear,b.ChargeItemName,b.ChargeItemCode,b.ChargeItemType from [dbo].[FinaChargesStandard] a left join [dbo].[FinaChargeItem] b on a.ChargeItemID=b.[ChargeItemID] where b.ChargeItemType=1 and a.SYear='" + entity.FSYear + "' and a.F_DeleteMark=0 and a.CheckMark=1 and b.CheckMark=1 and b.F_DeleteMark=0"); - var finaChargesStandardListGroup = db.FindList(@"select a.Grade,a.DeptNo,a.MajorNo,sum(isnull(a.Standard,0)) as YJAmount,a.SYear - from[dbo].[FinaChargesStandard] a left join[dbo].[FinaChargeItem] b on a.ChargeItemID = b.[ChargeItemID] where b.ChargeItemType=1 and a.SYear='" + entity.FSYear + "' and a.F_DeleteMark=0 and a.CheckMark=1 and b.CheckMark=1 and b.F_DeleteMark=0 group by a.Grade, a.DeptNo, a.MajorNo, a.SYear"); + // 写入缓存如果有未导入的数据 + if (failDt.Rows.Count > 0) + { + string errordt = failDt.ToJson(); + cache.Write(cacheKey + fileGuid, errordt, CacheId.excel); } - + db.Commit(); + //更新学生缴费总表 + BaseRepository("CollegeMIS").ExecuteBySql(@"update FinaChargeStudent set FSBlance=a.[FSBlance] + from (select isnull(sum([FSBlance]),0) as [FSBlance],StuNo from [FinaChargeStuYear] group by StuNo) a left join + FinaChargeStudent b on a.stuno=b.stuno"); + } + return snum + "|" + fnum; } catch (Exception ex) { - db.Rollback(); if (ex is ExceptionEx) { throw; diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargesStandard/FinaChargesStandardEntity.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargesStandard/FinaChargesStandardEntity.cs index 07fab4b92..0a398a8de 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargesStandard/FinaChargesStandardEntity.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargesStandard/FinaChargesStandardEntity.cs @@ -50,10 +50,15 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement [Column("SYEAR")] public int SYear { get; set; } /// - /// CheckMark + /// 审核标志 /// [Column("CHECKMARK")] public bool? CheckMark { get; set; } + /// + /// 删除标志 + /// + [Column("F_DELETEMARK")] + public bool? F_DeleteMark { get; set; } #endregion #region 扩展操作 @@ -83,6 +88,8 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement public string ChargeItemCode { get; set; } [NotMapped] public int? ChargeItemType { get; set; } + [NotMapped] + public int? priority { get; set; } /// /// 已交金额 /// diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargesStandard/FinaChargesStandardService.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargesStandard/FinaChargesStandardService.cs index 5df743c5f..9ac193a26 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargesStandard/FinaChargesStandardService.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/FinaChargesStandard/FinaChargesStandardService.cs @@ -366,7 +366,8 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement MajorNo = majorNo, Standard = item.Standard, SYear = Convert.ToInt32(sYear), - CheckMark = false + CheckMark = false, + F_DeleteMark=false }; entity.Create(); db.Insert(entity); diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/缴费订单明细/FinaChargeStuOrderDetailEntity.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/缴费订单明细/FinaChargeStuOrderDetailEntity.cs new file mode 100644 index 000000000..2ca8dd2b6 --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/缴费订单明细/FinaChargeStuOrderDetailEntity.cs @@ -0,0 +1,81 @@ +using Learun.Util; +using System; +using System.ComponentModel.DataAnnotations.Schema; + +namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement +{ + /// + /// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 + /// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 + /// 创 建:超级管理员 + /// 日 期:2023-08-12 22:14 + /// 描 述:FinaChargeStuOrderDetail + /// + public class FinaChargeStuOrderDetailEntity + { + #region 实体成员 + /// + /// Id + /// + [Column("ID")] + public string Id { get; set; } + /// + /// FCSOId + /// + [Column("FCSOID")] + public string FCSOId { get; set; } + /// + /// ChargeItemCode + /// + [Column("CHARGEITEMCODE")] + public string ChargeItemCode { get; set; } + /// + /// ChargeItemName + /// + [Column("CHARGEITEMNAME")] + public string ChargeItemName { get; set; } + /// + /// 应缴 + /// + [Column("YJAMOUNT")] + public decimal? YJAmount { get; set; } + /// + /// 实缴 + /// + [Column("SJAMOUNT")] + public decimal? SJAmount { get; set; } + /// + /// 待缴 + /// + [Column("DJAMOUNT")] + public decimal? DJAmount { get; set; } + /// + /// 超出余额 + /// + [Column("NOWBLANCE")] + public decimal? NowBlance { get; set; } + #endregion + + #region 扩展操作 + /// + /// 新增调用 + /// + public void Create() + { + this.Id = Guid.NewGuid().ToString(); + NowBlance = 0; + } + /// + /// 编辑调用 + /// + /// + public void Modify(string keyValue) + { + this.Id = keyValue; + } + #endregion + #region 扩展字段 + #endregion + } +} + diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/缴费订单明细/缴费订单明细BLL.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/缴费订单明细/缴费订单明细BLL.cs new file mode 100644 index 000000000..433536d53 --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/缴费订单明细/缴费订单明细BLL.cs @@ -0,0 +1,125 @@ +using Learun.Util; +using System; +using System.Data; +using System.Collections.Generic; + +namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement +{ + /// + /// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 + /// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 + /// 创 建:超级管理员 + /// 日 期:2023-08-12 22:14 + /// 描 述:FinaChargeStuOrderDetail + /// + public class 缴费订单明细BLL : 缴费订单明细IBLL + { + private 缴费订单明细Service 缴费订单明细Service = new 缴费订单明细Service(); + + #region 获取数据 + + /// + /// 获取页面显示列表数据 + /// + /// 分页参数 + /// 查询参数 + /// + public IEnumerable GetPageList(Pagination pagination, string queryJson) + { + try + { + return 缴费订单明细Service.GetPageList(pagination, queryJson); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowBusinessException(ex); + } + } + } + + /// + /// 获取FinaChargeStuOrderDetail表实体数据 + /// + /// 主键 + /// + public FinaChargeStuOrderDetailEntity GetFinaChargeStuOrderDetailEntity(string keyValue) + { + try + { + return 缴费订单明细Service.GetFinaChargeStuOrderDetailEntity(keyValue); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowBusinessException(ex); + } + } + } + + #endregion + + #region 提交数据 + + /// + /// 删除实体数据 + /// + /// 主键 + public void DeleteEntity(string keyValue) + { + try + { + 缴费订单明细Service.DeleteEntity(keyValue); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowBusinessException(ex); + } + } + } + + /// + /// 保存实体数据(新增、修改) + /// + /// 主键 + /// 实体 + /// + public void SaveEntity(string keyValue, FinaChargeStuOrderDetailEntity entity) + { + try + { + 缴费订单明细Service.SaveEntity(keyValue, entity); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowBusinessException(ex); + } + } + } + + #endregion + + } +} diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/缴费订单明细/缴费订单明细IBLL.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/缴费订单明细/缴费订单明细IBLL.cs new file mode 100644 index 000000000..1edcdd22d --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/缴费订单明细/缴费订单明细IBLL.cs @@ -0,0 +1,48 @@ +using Learun.Util; +using System.Data; +using System.Collections.Generic; + +namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement +{ + /// + /// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 + /// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 + /// 创 建:超级管理员 + /// 日 期:2023-08-12 22:14 + /// 描 述:FinaChargeStuOrderDetail + /// + public interface 缴费订单明细IBLL + { + #region 获取数据 + + /// + /// 获取页面显示列表数据 + /// + /// 查询参数 + /// + IEnumerable GetPageList(Pagination pagination, string queryJson); + /// + /// 获取FinaChargeStuOrderDetail表实体数据 + /// + /// 主键 + /// + FinaChargeStuOrderDetailEntity GetFinaChargeStuOrderDetailEntity(string keyValue); + #endregion + + #region 提交数据 + + /// + /// 删除实体数据 + /// + /// 主键 + void DeleteEntity(string keyValue); + /// + /// 保存实体数据(新增、修改) + /// + /// 主键 + /// 实体 + void SaveEntity(string keyValue, FinaChargeStuOrderDetailEntity entity); + #endregion + + } +} diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/缴费订单明细/缴费订单明细Service.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/缴费订单明细/缴费订单明细Service.cs new file mode 100644 index 000000000..204aa69fb --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ReceiveSendFeeManagement/缴费订单明细/缴费订单明细Service.cs @@ -0,0 +1,150 @@ +using Dapper; +using Learun.DataBase.Repository; +using Learun.Util; +using System; +using System.Collections.Generic; +using System.Data; +using System.Text; + +namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement +{ + /// + /// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 + /// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 + /// 创 建:超级管理员 + /// 日 期:2023-08-12 22:14 + /// 描 述:FinaChargeStuOrderDetail + /// + public class 缴费订单明细Service : RepositoryFactory + { + #region 获取数据 + + /// + /// 获取页面显示列表数据 + /// + /// 查询参数 + /// 查询参数 + /// + public IEnumerable GetPageList(Pagination pagination, string queryJson) + { + try + { + var strSql = new StringBuilder(); + strSql.Append("SELECT "); + strSql.Append(@" + t.Id, + t.ChargeItemCode, + t.ChargeItemName, + t.YJAmount, + t.SJAmount, + t.DJAmount, + t.NowBlance + "); + strSql.Append(" FROM FinaChargeStuOrderDetail t "); + strSql.Append(" WHERE 1=1 "); + var queryParam = queryJson.ToJObject(); + // 虚拟参数 + var dp = new DynamicParameters(new { }); + return this.BaseRepository("CollegeMIS").FindList(strSql.ToString(),dp, pagination); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowServiceException(ex); + } + } + } + + /// + /// 获取FinaChargeStuOrderDetail表实体数据 + /// + /// 主键 + /// + public FinaChargeStuOrderDetailEntity GetFinaChargeStuOrderDetailEntity(string keyValue) + { + try + { + return this.BaseRepository("CollegeMIS").FindEntity(keyValue); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowServiceException(ex); + } + } + } + + #endregion + + #region 提交数据 + + /// + /// 删除实体数据 + /// + /// 主键 + public void DeleteEntity(string keyValue) + { + try + { + this.BaseRepository("CollegeMIS").Delete(t=>t.Id == keyValue); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowServiceException(ex); + } + } + } + + /// + /// 保存实体数据(新增、修改) + /// + /// 主键 + /// 实体 + public void SaveEntity(string keyValue, FinaChargeStuOrderDetailEntity entity) + { + try + { + if (!string.IsNullOrEmpty(keyValue)) + { + entity.Modify(keyValue); + this.BaseRepository("CollegeMIS").Update(entity); + } + else + { + entity.Create(); + this.BaseRepository("CollegeMIS").Insert(entity); + } + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowServiceException(ex); + } + } + } + + #endregion + + } +}