@@ -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 | |||||
{ | |||||
/// <summary> | |||||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
/// 创 建:超级管理员 | |||||
/// 日 期:2023-08-12 22:06 | |||||
/// 描 述:缴费订单管理 | |||||
/// </summary> | |||||
public class FinaChargeStuOrderController : MvcControllerBase | |||||
{ | |||||
private FinaChargeStuOrderIBLL finaChargeStuOrderIBLL = new FinaChargeStuOrderBLL(); | |||||
#region 视图功能 | |||||
/// <summary> | |||||
/// 主页面 | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
public ActionResult Index() | |||||
{ | |||||
return View(); | |||||
} | |||||
/// <summary> | |||||
/// 表单页 | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
public ActionResult Form() | |||||
{ | |||||
return View(); | |||||
} | |||||
#endregion | |||||
#region 获取数据 | |||||
/// <summary> | |||||
/// 获取页面显示列表数据 | |||||
/// </summary> | |||||
/// <param name="pagination">分页参数</param> | |||||
/// <param name="queryJson">查询参数</param> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
[AjaxOnly] | |||||
public ActionResult GetPageList(string pagination, string queryJson) | |||||
{ | |||||
Pagination paginationobj = pagination.ToObject<Pagination>(); | |||||
var data = finaChargeStuOrderIBLL.GetPageList(paginationobj, queryJson); | |||||
var jsonData = new | |||||
{ | |||||
rows = data, | |||||
total = paginationobj.total, | |||||
page = paginationobj.page, | |||||
records = paginationobj.records | |||||
}; | |||||
return Success(jsonData); | |||||
} | |||||
/// <summary> | |||||
/// 获取表单数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
[AjaxOnly] | |||||
public ActionResult GetFormData(string keyValue) | |||||
{ | |||||
var FinaChargeStuOrderData = finaChargeStuOrderIBLL.GetFinaChargeStuOrderEntity( keyValue ); | |||||
var jsonData = new { | |||||
FinaChargeStuOrder = FinaChargeStuOrderData, | |||||
}; | |||||
return Success(jsonData); | |||||
} | |||||
#endregion | |||||
#region 提交数据 | |||||
/// <summary> | |||||
/// 删除实体数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <returns></returns> | |||||
[HttpPost] | |||||
[AjaxOnly] | |||||
public ActionResult DeleteForm(string keyValue) | |||||
{ | |||||
finaChargeStuOrderIBLL.DeleteEntity(keyValue); | |||||
return Success("删除成功!"); | |||||
} | |||||
/// <summary> | |||||
/// 保存实体数据(新增、修改) | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <param name="strEntity">实体</param> | |||||
/// <returns></returns> | |||||
[HttpPost] | |||||
[ValidateAntiForgeryToken] | |||||
[AjaxOnly] | |||||
public ActionResult SaveForm(string keyValue, string strEntity) | |||||
{ | |||||
FinaChargeStuOrderEntity entity = strEntity.ToObject<FinaChargeStuOrderEntity>(); | |||||
finaChargeStuOrderIBLL.SaveEntity(keyValue,entity); | |||||
if (string.IsNullOrEmpty(keyValue)) | |||||
{ | |||||
} | |||||
return Success("保存成功!"); | |||||
} | |||||
#endregion | |||||
} | |||||
} |
@@ -1,8 +1,18 @@ | |||||
using Learun.Util; | |||||
using System; | |||||
using Learun.Util; | |||||
using System.Data; | using System.Data; | ||||
using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; | using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; | ||||
using System.Web.Mvc; | using System.Web.Mvc; | ||||
using System.Collections.Generic; | 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 | namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | ||||
{ | { | ||||
@@ -16,6 +26,7 @@ namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||||
public class FinaChargeStuYearController : MvcControllerBase | public class FinaChargeStuYearController : MvcControllerBase | ||||
{ | { | ||||
private FinaChargeStuYearIBLL finaChargeStuYearIBLL = new FinaChargeStuYearBLL(); | private FinaChargeStuYearIBLL finaChargeStuYearIBLL = new FinaChargeStuYearBLL(); | ||||
private FinaChargeStuOrderIBLL finaChargeStuOrderIbll = new FinaChargeStuOrderBLL(); | |||||
#region 视图功能 | #region 视图功能 | ||||
@@ -28,6 +39,12 @@ namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||||
{ | { | ||||
return View(); | return View(); | ||||
} | } | ||||
[HttpGet] | |||||
public ActionResult IndexForStudent() | |||||
{ | |||||
return View(); | |||||
} | |||||
/// <summary> | /// <summary> | ||||
/// 表单页 | /// 表单页 | ||||
/// <summary> | /// <summary> | ||||
@@ -38,6 +55,12 @@ namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||||
return View(); | return View(); | ||||
} | } | ||||
[HttpGet] | |||||
public ActionResult PayFeeForm() | |||||
{ | |||||
return View(); | |||||
} | |||||
[HttpGet] | [HttpGet] | ||||
public ActionResult GenerateByConditionForm() | public ActionResult GenerateByConditionForm() | ||||
{ | { | ||||
@@ -90,6 +113,28 @@ namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||||
}; | }; | ||||
return Success(jsonData); | 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 | #endregion | ||||
#region 提交数据 | #region 提交数据 | ||||
@@ -136,5 +181,130 @@ namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||||
} | } | ||||
#endregion | #endregion | ||||
#region 二维码缴费 | |||||
/// <summary> | |||||
/// 生成缴费二维码 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[HttpPost] | |||||
[AjaxOnly] | |||||
public ActionResult PayFeeQRCode(string strEntity, string detailList) | |||||
{ | |||||
FinaChargeStuYearEntity entity = strEntity.ToObject<FinaChargeStuYearEntity>(); | |||||
List<FinaChargeStuOrderDetailEntity> list = detailList.ToObject<List<FinaChargeStuOrderDetailEntity>>(); | |||||
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<JsonBean>(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<JsonBean>(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 | |||||
{ | |||||
/// <summary> | |||||
/// | |||||
/// </summary> | |||||
public string SUCCESS { get; set; } | |||||
public string PAYURL { get; set; } | |||||
public string QRURL { get; set; } | |||||
} | |||||
/// <summary> | |||||
/// 生成并保存二维码图片的方法 | |||||
/// </summary> | |||||
/// <param name="str">输入的内容</param> | |||||
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 | |||||
} | } | ||||
} | } |
@@ -142,14 +142,13 @@ namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers | |||||
if (!string.IsNullOrEmpty(path)) | if (!string.IsNullOrEmpty(path)) | ||||
{ | { | ||||
DataTable dt = ExcelHelper.ExcelImport(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 | var data = new | ||||
{ | { | ||||
Success =10, | |||||
Fail = 0 | |||||
Success = res.Split('|')[0], | |||||
Fail = res.Split('|')[1] | |||||
}; | }; | ||||
return Success(data); | |||||
return JsonResult(data); | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
@@ -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 | |||||
{ | |||||
/// <summary> | |||||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
/// 创 建:超级管理员 | |||||
/// 日 期:2023-08-12 22:14 | |||||
/// 描 述:FinaChargeStuOrderDetail | |||||
/// </summary> | |||||
public class 缴费订单明细Controller : MvcControllerBase | |||||
{ | |||||
private 缴费订单明细IBLL 缴费订单明细IBLL = new 缴费订单明细BLL(); | |||||
#region 视图功能 | |||||
/// <summary> | |||||
/// 主页面 | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
public ActionResult Index() | |||||
{ | |||||
return View(); | |||||
} | |||||
/// <summary> | |||||
/// 表单页 | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
public ActionResult Form() | |||||
{ | |||||
return View(); | |||||
} | |||||
#endregion | |||||
#region 获取数据 | |||||
/// <summary> | |||||
/// 获取页面显示列表数据 | |||||
/// </summary> | |||||
/// <param name="pagination">分页参数</param> | |||||
/// <param name="queryJson">查询参数</param> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
[AjaxOnly] | |||||
public ActionResult GetPageList(string pagination, string queryJson) | |||||
{ | |||||
Pagination paginationobj = pagination.ToObject<Pagination>(); | |||||
var data = 缴费订单明细IBLL.GetPageList(paginationobj, queryJson); | |||||
var jsonData = new | |||||
{ | |||||
rows = data, | |||||
total = paginationobj.total, | |||||
page = paginationobj.page, | |||||
records = paginationobj.records | |||||
}; | |||||
return Success(jsonData); | |||||
} | |||||
/// <summary> | |||||
/// 获取表单数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
[AjaxOnly] | |||||
public ActionResult GetFormData(string keyValue) | |||||
{ | |||||
var FinaChargeStuOrderDetailData = 缴费订单明细IBLL.GetFinaChargeStuOrderDetailEntity( keyValue ); | |||||
var jsonData = new { | |||||
FinaChargeStuOrderDetail = FinaChargeStuOrderDetailData, | |||||
}; | |||||
return Success(jsonData); | |||||
} | |||||
#endregion | |||||
#region 提交数据 | |||||
/// <summary> | |||||
/// 删除实体数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <returns></returns> | |||||
[HttpPost] | |||||
[AjaxOnly] | |||||
public ActionResult DeleteForm(string keyValue) | |||||
{ | |||||
缴费订单明细IBLL.DeleteEntity(keyValue); | |||||
return Success("删除成功!"); | |||||
} | |||||
/// <summary> | |||||
/// 保存实体数据(新增、修改) | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <param name="strEntity">实体</param> | |||||
/// <returns></returns> | |||||
[HttpPost] | |||||
[ValidateAntiForgeryToken] | |||||
[AjaxOnly] | |||||
public ActionResult SaveForm(string keyValue, string strEntity) | |||||
{ | |||||
FinaChargeStuOrderDetailEntity entity = strEntity.ToObject<FinaChargeStuOrderDetailEntity>(); | |||||
缴费订单明细IBLL.SaveEntity(keyValue,entity); | |||||
if (string.IsNullOrEmpty(keyValue)) | |||||
{ | |||||
} | |||||
return Success("保存成功!"); | |||||
} | |||||
#endregion | |||||
} | |||||
} |
@@ -0,0 +1,59 @@ | |||||
@{ | |||||
ViewBag.Title = "缴费订单管理"; | |||||
Layout = "~/Views/Shared/_Form.cshtml"; | |||||
} | |||||
<div class="lr-form-wrap" id="form"> | |||||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||||
<div class="lr-form-item-title">缴费年度</div> | |||||
<input id="YearNo" type="text" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||||
<div class="lr-form-item-title">学号</div> | |||||
<input id="StuNo" type="text" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||||
<div class="lr-form-item-title">订单编号</div> | |||||
<input id="orderid" type="text" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||||
<div class="lr-form-item-title">应缴金额</div> | |||||
<input id="YJAmount" type="text" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||||
<div class="lr-form-item-title">实缴金额</div> | |||||
<input id="SJAmount" type="text" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||||
<div class="lr-form-item-title">待缴金额</div> | |||||
<input id="DJAmount" type="text" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||||
<div class="lr-form-item-title">超出余额</div> | |||||
<input id="NowBlance" type="text" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||||
<div class="lr-form-item-title">缴费状态</div> | |||||
<div id="Status" ></div> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||||
<div class="lr-form-item-title">订单生成时间</div> | |||||
<input id="PlaceOrderTime" type="text" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||||
<div class="lr-form-item-title">付款时间</div> | |||||
<input id="PayTime" type="text" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||||
<div class="lr-form-item-title">支付方式</div> | |||||
<div id="PayMode" ></div> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||||
<div class="lr-form-item-title">订单来源</div> | |||||
<div id="OrderType" ></div> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrder" > | |||||
<div class="lr-form-item-title">银行订单号</div> | |||||
<input id="BankOrder" type="text" class="form-control" /> | |||||
</div> | |||||
</div> | |||||
@Html.AppendJsFile("/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(); | |||||
} |
@@ -0,0 +1,57 @@ | |||||
@{ | |||||
ViewBag.Title = "缴费订单管理"; | |||||
Layout = "~/Views/Shared/_Index.cshtml"; | |||||
} | |||||
<div class="lr-layout " > | |||||
<div class="lr-layout-center"> | |||||
<div class="lr-layout-wrap lr-layout-wrap-notitle "> | |||||
<div class="lr-layout-tool"> | |||||
<div class="lr-layout-tool-left"> | |||||
<div class="lr-layout-tool-item"> | |||||
<div id="datesearch"></div> | |||||
</div> | |||||
<div class="lr-layout-tool-item"> | |||||
<div id="multiple_condition_query"> | |||||
<div class="lr-query-formcontent"> | |||||
<div class="col-xs-6 lr-form-item"> | |||||
<div class="lr-form-item-title">缴费年度</div> | |||||
<input id="YearNo" type="text" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-6 lr-form-item"> | |||||
<div class="lr-form-item-title">学号</div> | |||||
<input id="StuNo" type="text" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-6 lr-form-item"> | |||||
<div class="lr-form-item-title">缴费状态</div> | |||||
<div id="Status"></div> | |||||
</div> | |||||
<div class="col-xs-6 lr-form-item"> | |||||
<div class="lr-form-item-title">支付方式</div> | |||||
<div id="PayMode"></div> | |||||
</div> | |||||
<div class="col-xs-6 lr-form-item"> | |||||
<div class="lr-form-item-title">订单来源</div> | |||||
<div id="OrderType"></div> | |||||
</div> | |||||
<div class="col-xs-6 lr-form-item"> | |||||
<div class="lr-form-item-title">银行订单号</div> | |||||
<input id="BankOrder" type="text" class="form-control" /> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="lr-layout-tool-right"> | |||||
<div class=" btn-group btn-group-sm"> | |||||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||||
</div> | |||||
<div class=" btn-group btn-group-sm" learun-authorize="yes"> | |||||
<a id="lr_import" class="btn btn-default"><i class="fa fa-plus"></i> 导入</a> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="lr-layout-body" id="gridtable"></div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
@Html.AppendJsFile("/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(); | |||||
} |
@@ -117,22 +117,24 @@ var bootstrap = function ($, learun) { | |||||
} | } | ||||
}, | }, | ||||
{ label: "年级", name: "Grade", width: 100, align: "left" }, | { 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 '<span class=\"label label-default\">未缴费</span>'; | |||||
} else if (cellvalue === 1) { | |||||
return '<span class=\"label label-success\">已缴费</span>'; | |||||
} else { | |||||
return '<span class=\"label label-warning\">部分缴纳</span>'; | |||||
} | |||||
} | |||||
}, | |||||
], | ], | ||||
mainId:'FSYId', | |||||
mainId: 'FSYId', | |||||
isPage: true | isPage: true | ||||
}); | }); | ||||
page.search(); | page.search(); | ||||
@@ -140,7 +142,7 @@ var bootstrap = function ($, learun) { | |||||
search: function (param) { | search: function (param) { | ||||
param = param || {}; | param = param || {}; | ||||
param.fSYear = fSYear; | param.fSYear = fSYear; | ||||
$('#gridtable').jfGridSet('reload',{ queryJson: JSON.stringify(param) }); | |||||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||||
} | } | ||||
}; | }; | ||||
refreshGirdData = function () { | refreshGirdData = function () { | ||||
@@ -0,0 +1,31 @@ | |||||
@{ | |||||
ViewBag.Title = "学生年度缴费管理"; | |||||
Layout = "~/Views/Shared/_Index.cshtml"; | |||||
} | |||||
<div class="lr-layout"> | |||||
<div class="lr-layout-center"> | |||||
<div class="lr-layout-wrap lr-layout-wrap-notitle"> | |||||
<div class="lr-layout-tool"> | |||||
<div class="lr-layout-tool-left"> | |||||
<div class="lr-layout-tool-item"> | |||||
<div id="FSYear" style="width: 150px;"></div> | |||||
</div> | |||||
<div class="lr-layout-tool-item"> | |||||
<a id="btn_Search" class="btn btn-primary btn-sm"><i class="fa fa-search"></i> 查询</a> | |||||
</div> | |||||
</div> | |||||
<div class="lr-layout-tool-right"> | |||||
<div class=" btn-group btn-group-sm"> | |||||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||||
</div> | |||||
<div class=" btn-group btn-group-sm"> | |||||
<a id="lr_pay" class="btn btn-default"><i class="fa fa-qrcode"></i> 二维码缴费</a> | |||||
<a id="lr_detail" class="btn btn-default"><i class="fa fa-list"></i> 缴费记录</a> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="lr-layout-body" id="gridtable"></div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
@Html.AppendJsFile("/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 '<span class=\"label label-default\">未缴费</span>'; | |||||
} else if (cellvalue === 1) { | |||||
return '<span class=\"label label-success\">已缴费</span>'; | |||||
} else { | |||||
return '<span class=\"label label-warning\">部分缴纳</span>'; | |||||
} | |||||
} | |||||
}, | |||||
], | |||||
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(); | |||||
} |
@@ -0,0 +1,50 @@ | |||||
@{ | |||||
ViewBag.Title = "新生缴费管理"; | |||||
Layout = "~/Views/Shared/_Form.cshtml"; | |||||
} | |||||
<style> | |||||
.title { | |||||
text-align: center; | |||||
font-size: 16px; | |||||
margin-bottom: 10px; | |||||
} | |||||
#form { | |||||
padding: 10px 20px; | |||||
} | |||||
#btnBox { | |||||
text-align: center; | |||||
} | |||||
#btnBox > div { | |||||
margin-right: 50px; | |||||
margin-top: 20px; | |||||
} | |||||
.table { | |||||
text-align: center; | |||||
margin: auto; | |||||
} | |||||
.tableLeft { | |||||
width: 20%; | |||||
font-weight: bold; | |||||
} | |||||
.tableCenter { | |||||
width: 55%; | |||||
} | |||||
</style> | |||||
<div class="lr-form-wrap" id="form"> | |||||
<div class="title">费用明细</div> | |||||
<table class="table table-bordered" id="PayFeeDetail"></table> | |||||
<div id="btnBox"> | |||||
<div id="confirmPayFee" class="btn btn-primary">支付</div> | |||||
<div id="cancelPayFee" class="btn btn-default">取消</div> | |||||
<div id="queryPayFee" class="btn btn-primary">查询缴费结果</div> | |||||
</div> | |||||
<div id="btnBox"> | |||||
<span style="color: red;">注意:1.点击【支付】按钮使用手机支付宝、微信扫描右上角二维码进行支付。<br />2.请于支付成功5分钟后,点击【查询缴费结果】或关闭本窗口刷新列表获取缴费结果。<br />3.发票会在缴费结果变更后开具。</span> | |||||
</div> | |||||
</div> | |||||
@Html.AppendJsFile("/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 = "<tr><td class=\"tableLeft\">学号</td><td class=\"tableCenter\" id=\"StuNo\">" + StuInfoFresh.StuNo + "</td><td class=\"tableRight qrcode\" rowspan=\"5\"><img id='qrcodeImg'/></td></tr>"; | |||||
html += "<tr><td class=\"tableLeft\">姓名</td> <td>" + StuInfoFresh.StuName + "</td></tr>"; | |||||
html += "<tr><td class=\"tableLeft\">班级</td><td>" + className + "</td></tr>"; | |||||
html += "<tr><td class=\"tableLeft\">系别</td><td>" + deptName + "</td></tr>"; | |||||
html += "<tr><td class=\"tableLeft\">缴费年度</td><td id=\"FSYear\">" + StuInfoFresh.FSYear + "</td></tr>"; | |||||
html += '<tr style="border-top: 10px solid blue;"><td class=\"tableLeft\">缴费项目</td><td class=\"tableLeft\">收费标准</td><td class=\"tableLeft\">本次实缴</td></tr>'; | |||||
$.each(data['FinaChargesStandardList'], function (i, item) { | |||||
html += '<tr><td class=\"tableLeft\">' + item.ChargeItemName + '</td><td>' + item.Standard + '元</td><td>' + | |||||
'<input id="' + item.ChargeItemCode + '" onkeyup="if(this.value > ' + item.FSBlance + '){this.value=' + item.FSBlance + '}" onafterpaste="if(this.value > ' + item.FSBlance + '){this.value=' + item.FSBlance +'}" ' + | |||||
' max="' + item.FSBlance + '" min="0" data-amount="' + item.Standard + '" data-name="' + item.ChargeItemName + '" type="number" class="form-control paydetail" value="' + item.FSBlance + '" /></td></tr>'; | |||||
}); | |||||
html += '<tr><td class=\"tableLeft\">应缴合计</td><td>' + data['PayFeeTotal'] + '元</td><td><span id="PayMoney">' + PayFeeTotal + '</span></td></tr>'; | |||||
html += '<tr><td class=\"tableLeft\"> </td><td colspan="2"> </td></tr>'; | |||||
html += '<tr><td class=\"tableLeft\">已缴金额</td><td colspan="2">' + SJAmount + '</td></tr>'; | |||||
$('#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(); | |||||
} |
@@ -143,7 +143,7 @@ var bootstrap = function ($, learun) { | |||||
}, | }, | ||||
{ label: "收费标准", name: "Standard", width: 100, align: "left" }, | { label: "收费标准", name: "Standard", width: 100, align: "left" }, | ||||
{ label: "实缴金额", name: "SJAmount", 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", | label: "缴费状态", name: "PayFeeStatus", width: 100, align: "left", | ||||
formatterAsync: function (callback, value, row, op, $cell) { | formatterAsync: function (callback, value, row, op, $cell) { | ||||
@@ -0,0 +1,31 @@ | |||||
@{ | |||||
ViewBag.Title = "FinaChargeStuOrderDetail"; | |||||
Layout = "~/Views/Shared/_Form.cshtml"; | |||||
} | |||||
<div class="lr-form-wrap" id="form"> | |||||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrderDetail" > | |||||
<div class="lr-form-item-title">收费项目编号</div> | |||||
<input id="ChargeItemCode" type="text" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrderDetail" > | |||||
<div class="lr-form-item-title">收费项目名称</div> | |||||
<input id="ChargeItemName" type="text" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrderDetail" > | |||||
<div class="lr-form-item-title">应缴金额</div> | |||||
<input id="YJAmount" type="text" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrderDetail" > | |||||
<div class="lr-form-item-title">实缴金额</div> | |||||
<input id="SJAmount" type="text" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrderDetail" > | |||||
<div class="lr-form-item-title">待缴金额</div> | |||||
<input id="DJAmount" type="text" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item" data-table="FinaChargeStuOrderDetail" > | |||||
<div class="lr-form-item-title">超出余额</div> | |||||
<input id="NowBlance" type="text" class="form-control" /> | |||||
</div> | |||||
</div> | |||||
@Html.AppendJsFile("/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(); | |||||
} |
@@ -0,0 +1,21 @@ | |||||
@{ | |||||
ViewBag.Title = "FinaChargeStuOrderDetail"; | |||||
Layout = "~/Views/Shared/_Index.cshtml"; | |||||
} | |||||
<div class="lr-layout " > | |||||
<div class="lr-layout-center"> | |||||
<div class="lr-layout-wrap lr-layout-wrap-notitle "> | |||||
<div class="lr-layout-tool"> | |||||
<div class="lr-layout-tool-left"> | |||||
</div> | |||||
<div class="lr-layout-tool-right"> | |||||
<div class=" btn-group btn-group-sm"> | |||||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="lr-layout-body" id="gridtable"></div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
@Html.AppendJsFile("/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(); | |||||
} |
@@ -892,6 +892,8 @@ | |||||
<Compile Include="Areas\ReceiveSendFeeManagement\Controllers\FinaChargeStudentController.cs" /> | <Compile Include="Areas\ReceiveSendFeeManagement\Controllers\FinaChargeStudentController.cs" /> | ||||
<Compile Include="Areas\ReceiveSendFeeManagement\Controllers\FinaChargeStuYearController.cs" /> | <Compile Include="Areas\ReceiveSendFeeManagement\Controllers\FinaChargeStuYearController.cs" /> | ||||
<Compile Include="Areas\ReceiveSendFeeManagement\Controllers\FinaChargeStuYearItemController.cs" /> | <Compile Include="Areas\ReceiveSendFeeManagement\Controllers\FinaChargeStuYearItemController.cs" /> | ||||
<Compile Include="Areas\ReceiveSendFeeManagement\Controllers\FinaChargeStuOrderController.cs" /> | |||||
<Compile Include="Areas\ReceiveSendFeeManagement\Controllers\缴费订单明细Controller.cs" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<Content Include="Areas\AdmissionsPlatform\Views\AP_OnlineUserInfo\DropOutIndex.js" /> | <Content Include="Areas\AdmissionsPlatform\Views\AP_OnlineUserInfo\DropOutIndex.js" /> | ||||
@@ -1632,6 +1634,8 @@ | |||||
<Content Include="Areas\PersonnelManagement\Views\WorkStudyPositionApply\Index.js" /> | <Content Include="Areas\PersonnelManagement\Views\WorkStudyPositionApply\Index.js" /> | ||||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYearItem\Import.js" /> | <Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYearItem\Import.js" /> | ||||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYear\GenerateByConditionForm.js" /> | <Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYear\GenerateByConditionForm.js" /> | ||||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYear\IndexForStudent.js" /> | |||||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYear\PayFeeForm.js" /> | |||||
<Content Include="Areas\StudentWork\Views\SW_Ask_Main\AnswerIndex.js" /> | <Content Include="Areas\StudentWork\Views\SW_Ask_Main\AnswerIndex.js" /> | ||||
<Content Include="Areas\StudentWork\Views\SW_Ask_Main\AnswerQuery.js" /> | <Content Include="Areas\StudentWork\Views\SW_Ask_Main\AnswerQuery.js" /> | ||||
<Content Include="Areas\StudentWork\Views\SW_Ask_Main\Form.js" /> | <Content Include="Areas\StudentWork\Views\SW_Ask_Main\Form.js" /> | ||||
@@ -6663,6 +6667,14 @@ | |||||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYearItem\Index.js" /> | <Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYearItem\Index.js" /> | ||||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYearItem\Form.cshtml" /> | <Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYearItem\Form.cshtml" /> | ||||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYearItem\Form.js" /> | <Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYearItem\Form.js" /> | ||||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuOrder\Index.cshtml" /> | |||||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuOrder\Index.js" /> | |||||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuOrder\Form.cshtml" /> | |||||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuOrder\Form.js" /> | |||||
<Content Include="Areas\ReceiveSendFeeManagement\Views\缴费订单明细\Index.cshtml" /> | |||||
<Content Include="Areas\ReceiveSendFeeManagement\Views\缴费订单明细\Index.js" /> | |||||
<Content Include="Areas\ReceiveSendFeeManagement\Views\缴费订单明细\Form.cshtml" /> | |||||
<Content Include="Areas\ReceiveSendFeeManagement\Views\缴费订单明细\Form.js" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<Folder Include="Areas\EducationalAdministration\Views\AwardAndPunishment\" /> | <Folder Include="Areas\EducationalAdministration\Views\AwardAndPunishment\" /> | ||||
@@ -7967,6 +7979,8 @@ | |||||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYear\GenerateByConditionForm.cshtml" /> | <Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYear\GenerateByConditionForm.cshtml" /> | ||||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYearItem\Import.cshtml" /> | <Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYearItem\Import.cshtml" /> | ||||
<Content Include="Content\excel\缴费明细.xls" /> | <Content Include="Content\excel\缴费明细.xls" /> | ||||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYear\IndexForStudent.cshtml" /> | |||||
<Content Include="Areas\ReceiveSendFeeManagement\Views\FinaChargeStuYear\PayFeeForm.cshtml" /> | |||||
<None Include="Properties\PublishProfiles\CustomProfile.pubxml" /> | <None Include="Properties\PublishProfiles\CustomProfile.pubxml" /> | ||||
<None Include="Properties\PublishProfiles\FolderProfile.pubxml" /> | <None Include="Properties\PublishProfiles\FolderProfile.pubxml" /> | ||||
<Content Include="Views\Login\Default-beifen.cshtml" /> | <Content Include="Views\Login\Default-beifen.cshtml" /> | ||||
@@ -593,6 +593,8 @@ | |||||
<Compile Include="ReceiveSendFeeManagement\FinaChargeStudentMap.cs" /> | <Compile Include="ReceiveSendFeeManagement\FinaChargeStudentMap.cs" /> | ||||
<Compile Include="ReceiveSendFeeManagement\FinaChargeStuYearMap.cs" /> | <Compile Include="ReceiveSendFeeManagement\FinaChargeStuYearMap.cs" /> | ||||
<Compile Include="ReceiveSendFeeManagement\FinaChargeStuYearItemMap.cs" /> | <Compile Include="ReceiveSendFeeManagement\FinaChargeStuYearItemMap.cs" /> | ||||
<Compile Include="ReceiveSendFeeManagement\FinaChargeStuOrderMap.cs" /> | |||||
<Compile Include="ReceiveSendFeeManagement\FinaChargeStuOrderDetailMap.cs" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<ProjectReference Include="..\..\..\Learun.Application.Organization\Learun.Application.Organization.csproj"> | <ProjectReference Include="..\..\..\Learun.Application.Organization\Learun.Application.Organization.csproj"> | ||||
@@ -0,0 +1,29 @@ | |||||
using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; | |||||
using System.Data.Entity.ModelConfiguration; | |||||
namespace Learun.Application.Mapping | |||||
{ | |||||
/// <summary> | |||||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
/// 创 建:超级管理员 | |||||
/// 日 期:2023-08-12 22:14 | |||||
/// 描 述:FinaChargeStuOrderDetail | |||||
/// </summary> | |||||
public class FinaChargeStuOrderDetailMap : EntityTypeConfiguration<FinaChargeStuOrderDetailEntity> | |||||
{ | |||||
public FinaChargeStuOrderDetailMap() | |||||
{ | |||||
#region 表、主键 | |||||
//表 | |||||
this.ToTable("FINACHARGESTUORDERDETAIL"); | |||||
//主键 | |||||
this.HasKey(t => t.Id); | |||||
#endregion | |||||
#region 配置关系 | |||||
#endregion | |||||
} | |||||
} | |||||
} | |||||
@@ -0,0 +1,29 @@ | |||||
using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; | |||||
using System.Data.Entity.ModelConfiguration; | |||||
namespace Learun.Application.Mapping | |||||
{ | |||||
/// <summary> | |||||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
/// 创 建:超级管理员 | |||||
/// 日 期:2023-08-12 22:06 | |||||
/// 描 述:缴费订单管理 | |||||
/// </summary> | |||||
public class FinaChargeStuOrderMap : EntityTypeConfiguration<FinaChargeStuOrderEntity> | |||||
{ | |||||
public FinaChargeStuOrderMap() | |||||
{ | |||||
#region 表、主键 | |||||
//表 | |||||
this.ToTable("FINACHARGESTUORDER"); | |||||
//主键 | |||||
this.HasKey(t => t.Id); | |||||
#endregion | |||||
#region 配置关系 | |||||
#endregion | |||||
} | |||||
} | |||||
} | |||||
@@ -1846,6 +1846,14 @@ | |||||
<Compile Include="ReceiveSendFeeManagement\FinaChargeStuYearItem\FinaChargeStuYearItemService.cs" /> | <Compile Include="ReceiveSendFeeManagement\FinaChargeStuYearItem\FinaChargeStuYearItemService.cs" /> | ||||
<Compile Include="ReceiveSendFeeManagement\FinaChargeStuYearItem\FinaChargeStuYearItemBLL.cs" /> | <Compile Include="ReceiveSendFeeManagement\FinaChargeStuYearItem\FinaChargeStuYearItemBLL.cs" /> | ||||
<Compile Include="ReceiveSendFeeManagement\FinaChargeStuYearItem\FinaChargeStuYearItemIBLL.cs" /> | <Compile Include="ReceiveSendFeeManagement\FinaChargeStuYearItem\FinaChargeStuYearItemIBLL.cs" /> | ||||
<Compile Include="ReceiveSendFeeManagement\FinaChargeStuOrder\FinaChargeStuOrderEntity.cs" /> | |||||
<Compile Include="ReceiveSendFeeManagement\FinaChargeStuOrder\FinaChargeStuOrderService.cs" /> | |||||
<Compile Include="ReceiveSendFeeManagement\FinaChargeStuOrder\FinaChargeStuOrderBLL.cs" /> | |||||
<Compile Include="ReceiveSendFeeManagement\FinaChargeStuOrder\FinaChargeStuOrderIBLL.cs" /> | |||||
<Compile Include="ReceiveSendFeeManagement\缴费订单明细\FinaChargeStuOrderDetailEntity.cs" /> | |||||
<Compile Include="ReceiveSendFeeManagement\缴费订单明细\缴费订单明细Service.cs" /> | |||||
<Compile Include="ReceiveSendFeeManagement\缴费订单明细\缴费订单明细BLL.cs" /> | |||||
<Compile Include="ReceiveSendFeeManagement\缴费订单明细\缴费订单明细IBLL.cs" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<ProjectReference Include="..\..\..\Learun.Application.Organization\Learun.Application.Organization.csproj"> | <ProjectReference Include="..\..\..\Learun.Application.Organization\Learun.Application.Organization.csproj"> | ||||
@@ -0,0 +1,144 @@ | |||||
using Learun.Util; | |||||
using System; | |||||
using System.Data; | |||||
using System.Collections.Generic; | |||||
namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement | |||||
{ | |||||
/// <summary> | |||||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
/// 创 建:超级管理员 | |||||
/// 日 期:2023-08-12 22:06 | |||||
/// 描 述:缴费订单管理 | |||||
/// </summary> | |||||
public class FinaChargeStuOrderBLL : FinaChargeStuOrderIBLL | |||||
{ | |||||
private FinaChargeStuOrderService finaChargeStuOrderService = new FinaChargeStuOrderService(); | |||||
#region 获取数据 | |||||
/// <summary> | |||||
/// 获取页面显示列表数据 | |||||
/// </summary> | |||||
/// <param name="pagination">分页参数</param> | |||||
/// <param name="queryJson">查询参数</param> | |||||
/// <returns></returns> | |||||
public IEnumerable<FinaChargeStuOrderEntity> GetPageList(Pagination pagination, string queryJson) | |||||
{ | |||||
try | |||||
{ | |||||
return finaChargeStuOrderService.GetPageList(pagination, queryJson); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowBusinessException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | |||||
/// 获取FinaChargeStuOrder表实体数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <returns></returns> | |||||
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 提交数据 | |||||
/// <summary> | |||||
/// 删除实体数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
public void DeleteEntity(string keyValue) | |||||
{ | |||||
try | |||||
{ | |||||
finaChargeStuOrderService.DeleteEntity(keyValue); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowBusinessException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | |||||
/// 保存实体数据(新增、修改) | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <param name="entity">实体</param> | |||||
/// <returns></returns> | |||||
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<FinaChargeStuOrderDetailEntity> list) | |||||
{ | |||||
try | |||||
{ | |||||
finaChargeStuOrderService.SaveOrderData( entity,list); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowBusinessException(ex); | |||||
} | |||||
} | |||||
} | |||||
#endregion | |||||
} | |||||
} |
@@ -0,0 +1,116 @@ | |||||
using Learun.Util; | |||||
using System; | |||||
using System.ComponentModel.DataAnnotations.Schema; | |||||
namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement | |||||
{ | |||||
/// <summary> | |||||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
/// 创 建:超级管理员 | |||||
/// 日 期:2023-08-12 22:06 | |||||
/// 描 述:缴费订单管理 | |||||
/// </summary> | |||||
public class FinaChargeStuOrderEntity | |||||
{ | |||||
#region 实体成员 | |||||
/// <summary> | |||||
/// Id | |||||
/// </summary> | |||||
[Column("ID")] | |||||
public string Id { get; set; } | |||||
/// <summary> | |||||
/// FSYId | |||||
/// </summary> | |||||
[Column("FSYID")] | |||||
public string FSYId { get; set; } | |||||
/// <summary> | |||||
/// 年度 | |||||
/// </summary> | |||||
[Column("YEARNO")] | |||||
public int? YearNo { get; set; } | |||||
/// <summary> | |||||
/// 学号 | |||||
/// </summary> | |||||
[Column("STUNO")] | |||||
public string StuNo { get; set; } | |||||
/// <summary> | |||||
/// 订单编号 | |||||
/// </summary> | |||||
[Column("ORDERID")] | |||||
public string orderid { get; set; } | |||||
/// <summary> | |||||
/// 应交金额 | |||||
/// </summary> | |||||
[Column("YJAMOUNT")] | |||||
public decimal? YJAmount { get; set; } | |||||
/// <summary> | |||||
/// 实交金额 | |||||
/// </summary> | |||||
[Column("SJAMOUNT")] | |||||
public decimal? SJAmount { get; set; } | |||||
/// <summary> | |||||
/// 待缴金额 | |||||
/// </summary> | |||||
[Column("DJAMOUNT")] | |||||
public decimal? DJAmount { get; set; } | |||||
/// <summary> | |||||
/// 超出余额 | |||||
/// </summary> | |||||
[Column("NOWBLANCE")] | |||||
public decimal? NowBlance { get; set; } | |||||
/// <summary> | |||||
/// 缴费订单状态(0未支付,1已支付) | |||||
/// </summary> | |||||
[Column("STATUS")] | |||||
public int? Status { get; set; } | |||||
/// <summary> | |||||
/// 下单时间 | |||||
/// </summary> | |||||
[Column("PLACEORDERTIME")] | |||||
public DateTime? PlaceOrderTime { get; set; } | |||||
/// <summary> | |||||
/// 付款时间 | |||||
/// </summary> | |||||
[Column("PAYTIME")] | |||||
public DateTime? PayTime { get; set; } | |||||
/// <summary> | |||||
/// 付款方式 | |||||
/// </summary> | |||||
[Column("PAYMODE")] | |||||
public string PayMode { get; set; } | |||||
/// <summary> | |||||
/// 订单来源(1二维码缴费,2人工导入) | |||||
/// </summary> | |||||
[Column("ORDERTYPE")] | |||||
public int? OrderType { get; set; } | |||||
/// <summary> | |||||
/// 银行流水号 | |||||
/// </summary> | |||||
[Column("BANKORDER")] | |||||
public string BankOrder { get; set; } | |||||
#endregion | |||||
#region 扩展操作 | |||||
/// <summary> | |||||
/// 新增调用 | |||||
/// </summary> | |||||
public void Create() | |||||
{ | |||||
this.Id = Guid.NewGuid().ToString(); | |||||
NowBlance = 0; | |||||
} | |||||
/// <summary> | |||||
/// 编辑调用 | |||||
/// </summary> | |||||
/// <param name="keyValue"></param> | |||||
public void Modify(string keyValue) | |||||
{ | |||||
this.Id = keyValue; | |||||
} | |||||
#endregion | |||||
#region 扩展字段 | |||||
#endregion | |||||
} | |||||
} | |||||
@@ -0,0 +1,49 @@ | |||||
using Learun.Util; | |||||
using System.Data; | |||||
using System.Collections.Generic; | |||||
namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement | |||||
{ | |||||
/// <summary> | |||||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
/// 创 建:超级管理员 | |||||
/// 日 期:2023-08-12 22:06 | |||||
/// 描 述:缴费订单管理 | |||||
/// </summary> | |||||
public interface FinaChargeStuOrderIBLL | |||||
{ | |||||
#region 获取数据 | |||||
/// <summary> | |||||
/// 获取页面显示列表数据 | |||||
/// </summary> | |||||
/// <param name="queryJson">查询参数</param> | |||||
/// <returns></returns> | |||||
IEnumerable<FinaChargeStuOrderEntity> GetPageList(Pagination pagination, string queryJson); | |||||
/// <summary> | |||||
/// 获取FinaChargeStuOrder表实体数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <returns></returns> | |||||
FinaChargeStuOrderEntity GetFinaChargeStuOrderEntity(string keyValue); | |||||
#endregion | |||||
#region 提交数据 | |||||
/// <summary> | |||||
/// 删除实体数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
void DeleteEntity(string keyValue); | |||||
/// <summary> | |||||
/// 保存实体数据(新增、修改) | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <param name="entity">实体</param> | |||||
void SaveEntity(string keyValue, FinaChargeStuOrderEntity entity); | |||||
#endregion | |||||
void SaveOrderData(FinaChargeStuYearEntity entity, List<FinaChargeStuOrderDetailEntity> list); | |||||
} | |||||
} |
@@ -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 | |||||
{ | |||||
/// <summary> | |||||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
/// 创 建:超级管理员 | |||||
/// 日 期:2023-08-12 22:06 | |||||
/// 描 述:缴费订单管理 | |||||
/// </summary> | |||||
public class FinaChargeStuOrderService : RepositoryFactory | |||||
{ | |||||
#region 获取数据 | |||||
/// <summary> | |||||
/// 获取页面显示列表数据 | |||||
/// </summary> | |||||
/// <param name="pagination">查询参数</param> | |||||
/// <param name="queryJson">查询参数</param> | |||||
/// <returns></returns> | |||||
public IEnumerable<FinaChargeStuOrderEntity> 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<FinaChargeStuOrderEntity>(strSql.ToString(), dp, pagination); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowServiceException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | |||||
/// 获取FinaChargeStuOrder表实体数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <returns></returns> | |||||
public FinaChargeStuOrderEntity GetFinaChargeStuOrderEntity(string keyValue) | |||||
{ | |||||
try | |||||
{ | |||||
return this.BaseRepository("CollegeMIS").FindEntity<FinaChargeStuOrderEntity>(keyValue); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowServiceException(ex); | |||||
} | |||||
} | |||||
} | |||||
#endregion | |||||
#region 提交数据 | |||||
/// <summary> | |||||
/// 删除实体数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
public void DeleteEntity(string keyValue) | |||||
{ | |||||
try | |||||
{ | |||||
this.BaseRepository("CollegeMIS").Delete<FinaChargeStuOrderEntity>(t => t.Id == keyValue); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowServiceException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | |||||
/// 保存实体数据(新增、修改) | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <param name="entity">实体</param> | |||||
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 | |||||
/// <summary> | |||||
/// 二维码缴费下单 | |||||
/// </summary> | |||||
/// <param name="entity"></param> | |||||
/// <param name="list"></param> | |||||
public void SaveOrderData(FinaChargeStuYearEntity entity, List<FinaChargeStuOrderDetailEntity> 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); | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} |
@@ -173,6 +173,25 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement | |||||
} | } | ||||
} | } | ||||
public IEnumerable<FinaChargeStuYearItemEntity> GetFinaChargeStuItemList(string keyValue) | |||||
{ | |||||
try | |||||
{ | |||||
return finaChargeStuYearService.GetFinaChargeStuItemList(keyValue); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowBusinessException(ex); | |||||
} | |||||
} | |||||
} | |||||
#endregion | #endregion | ||||
} | } | ||||
@@ -30,17 +30,17 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement | |||||
[Column("FSYEAR")] | [Column("FSYEAR")] | ||||
public int? FSYear { get; set; } | public int? FSYear { get; set; } | ||||
/// <summary> | /// <summary> | ||||
/// YJAmount | |||||
/// 应缴金额(收费标准) | |||||
/// </summary> | /// </summary> | ||||
[Column("YJAMOUNT")] | [Column("YJAMOUNT")] | ||||
public decimal? YJAmount { get; set; } | public decimal? YJAmount { get; set; } | ||||
/// <summary> | /// <summary> | ||||
/// SJAmount | |||||
/// 实缴金额(已缴金额) | |||||
/// </summary> | /// </summary> | ||||
[Column("SJAMOUNT")] | [Column("SJAMOUNT")] | ||||
public decimal? SJAmount { get; set; } | public decimal? SJAmount { get; set; } | ||||
/// <summary> | /// <summary> | ||||
/// 缴费年度余额 | |||||
/// 缴费年度余额(剩余应缴金额) | |||||
/// </summary> | /// </summary> | ||||
[Column("FSBLANCE")] | [Column("FSBLANCE")] | ||||
public decimal? FSBlance { get; set; } | public decimal? FSBlance { get; set; } | ||||
@@ -81,6 +81,10 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement | |||||
public string IdentityCardNo { get; set; } | public string IdentityCardNo { get; set; } | ||||
[NotMapped] | [NotMapped] | ||||
public string StuName { get; set; } | public string StuName { get; set; } | ||||
[NotMapped] | |||||
public decimal? PayMoney { get; set; } | |||||
[NotMapped] | |||||
public string orderid { get; set; } | |||||
#endregion | #endregion | ||||
} | } | ||||
} | } | ||||
@@ -46,5 +46,11 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement | |||||
void SaveGenerateByCondition(FinaChargeStuYearEntity entity); | void SaveGenerateByCondition(FinaChargeStuYearEntity entity); | ||||
List<TreeModel> GetTree(); | List<TreeModel> GetTree(); | ||||
/// <summary> | |||||
/// 获取学生缴费明细 | |||||
/// </summary> | |||||
/// <param name="keyValue"></param> | |||||
/// <returns></returns> | |||||
IEnumerable<FinaChargeStuYearItemEntity> GetFinaChargeStuItemList(string keyValue); | |||||
} | } | ||||
} | } |
@@ -77,6 +77,11 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement | |||||
dp.Add("PayFeeStatus", queryParam["PayFeeStatus"].ToString(), DbType.String); | dp.Add("PayFeeStatus", queryParam["PayFeeStatus"].ToString(), DbType.String); | ||||
strSql.Append(" AND t.PayFeeStatus = @PayFeeStatus "); | 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<FinaChargeStuYearEntity>(strSql.ToString(), dp, pagination); | return this.BaseRepository("CollegeMIS").FindList<FinaChargeStuYearEntity>(strSql.ToString(), dp, pagination); | ||||
} | } | ||||
catch (Exception ex) | catch (Exception ex) | ||||
@@ -101,7 +106,7 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement | |||||
{ | { | ||||
try | try | ||||
{ | { | ||||
return this.BaseRepository("CollegeMIS").FindEntity<FinaChargeStuYearEntity>(keyValue); | |||||
return this.BaseRepository("CollegeMIS").FindEntity<FinaChargeStuYearEntity>("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) | catch (Exception ex) | ||||
{ | { | ||||
@@ -116,6 +121,31 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement | |||||
} | } | ||||
} | } | ||||
/// <summary> | |||||
/// 获取学生缴费明细 | |||||
/// </summary> | |||||
/// <param name="keyValue"></param> | |||||
/// <returns></returns> | |||||
public IEnumerable<FinaChargeStuYearItemEntity> GetFinaChargeStuItemList(string keyValue) | |||||
{ | |||||
try | |||||
{ | |||||
return this.BaseRepository("CollegeMIS").FindList<FinaChargeStuYearItemEntity>("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 | #endregion | ||||
#region 提交数据 | #region 提交数据 | ||||
@@ -190,7 +220,7 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement | |||||
//获取已有年度学生缴费明细记录 | //获取已有年度学生缴费明细记录 | ||||
var oldFinaChargeStuYearItemList = db.FindList<FinaChargeStuYearItemEntity>(m => m.FSYear == entity.FSYear); | var oldFinaChargeStuYearItemList = db.FindList<FinaChargeStuYearItemEntity>(m => m.FSYear == entity.FSYear); | ||||
//获取收费标准 | //获取收费标准 | ||||
var finaChargesStandardList = db.FindList<FinaChargesStandardEntity>("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<FinaChargesStandardEntity>("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<FinaChargesStandardEntity>(@"select a.Grade,a.DeptNo,a.MajorNo,sum(isnull(a.Standard,0)) as YJAmount,a.SYear | var finaChargesStandardListGroup = db.FindList<FinaChargesStandardEntity>(@"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"); | 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) | foreach (var stuitem in stulist) | ||||
@@ -213,6 +243,7 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement | |||||
finaChargeStuYearItem.ChargeItemCode = finaChargesStandardEntity.ChargeItemCode; | finaChargeStuYearItem.ChargeItemCode = finaChargesStandardEntity.ChargeItemCode; | ||||
finaChargeStuYearItem.ChargeItemName = finaChargesStandardEntity.ChargeItemName; | finaChargeStuYearItem.ChargeItemName = finaChargesStandardEntity.ChargeItemName; | ||||
finaChargeStuYearItem.ChargeItemType = finaChargesStandardEntity.ChargeItemType; | finaChargeStuYearItem.ChargeItemType = finaChargesStandardEntity.ChargeItemType; | ||||
finaChargeStuYearItem.priority = finaChargesStandardEntity.priority; | |||||
finaChargeStuYearItem.Standard = finaChargesStandardEntity.Standard; | finaChargeStuYearItem.Standard = finaChargesStandardEntity.Standard; | ||||
//主表应缴金额更新 | //主表应缴金额更新 | ||||
oldFinaChargeStuYearEntity.YJAmount += finaChargeStuYearItem.Standard; | oldFinaChargeStuYearEntity.YJAmount += finaChargeStuYearItem.Standard; | ||||
@@ -251,6 +282,7 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement | |||||
finaChargeStuYearItem.ChargeItemCode = finaChargesStandardEntity.ChargeItemCode; | finaChargeStuYearItem.ChargeItemCode = finaChargesStandardEntity.ChargeItemCode; | ||||
finaChargeStuYearItem.ChargeItemName = finaChargesStandardEntity.ChargeItemName; | finaChargeStuYearItem.ChargeItemName = finaChargesStandardEntity.ChargeItemName; | ||||
finaChargeStuYearItem.ChargeItemType = finaChargesStandardEntity.ChargeItemType; | finaChargeStuYearItem.ChargeItemType = finaChargesStandardEntity.ChargeItemType; | ||||
finaChargeStuYearItem.priority = finaChargesStandardEntity.priority; | |||||
finaChargeStuYearItem.Standard = finaChargesStandardEntity.Standard; | finaChargeStuYearItem.Standard = finaChargesStandardEntity.Standard; | ||||
finaChargeStuYearItem.FSBlance = -finaChargeStuYearItem.Standard; | finaChargeStuYearItem.FSBlance = -finaChargeStuYearItem.Standard; | ||||
db.Insert(finaChargeStuYearItem); | db.Insert(finaChargeStuYearItem); | ||||
@@ -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 | try | ||||
{ | { | ||||
@@ -43,6 +43,11 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement | |||||
[Column("CHARGEITEMTYPE")] | [Column("CHARGEITEMTYPE")] | ||||
public int? ChargeItemType { get; set; } | public int? ChargeItemType { get; set; } | ||||
/// <summary> | /// <summary> | ||||
/// 优先级 | |||||
/// </summary> | |||||
[Column("PRIORITY")] | |||||
public int? priority { get; set; } | |||||
/// <summary> | |||||
/// 收费标准 | /// 收费标准 | ||||
/// </summary> | /// </summary> | ||||
[Column("STANDARD")] | [Column("STANDARD")] | ||||
@@ -43,8 +43,8 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement | |||||
/// <param name="entity">实体</param> | /// <param name="entity">实体</param> | ||||
void SaveEntity(string keyValue, FinaChargeStuYearItemEntity entity); | void SaveEntity(string keyValue, FinaChargeStuYearItemEntity entity); | ||||
#endregion | #endregion | ||||
void UnDeleteEntity(string keyValue); | 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); | |||||
} | } | ||||
} | } |
@@ -4,6 +4,7 @@ using Learun.Util; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Data; | using System.Data; | ||||
using System.Linq; | |||||
using System.Text; | using System.Text; | ||||
using Learun.Cache.Base; | using Learun.Cache.Base; | ||||
using Learun.Cache.Factory; | using Learun.Cache.Factory; | ||||
@@ -220,7 +221,7 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement | |||||
#endregion | #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(); | var db = this.BaseRepository("CollegeMIS").BeginTrans(); | ||||
try | try | ||||
@@ -237,56 +238,150 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement | |||||
{ | { | ||||
failDt.Columns.Add(dc.ColumnName, dc.DataType); | failDt.Columns.Add(dc.ColumnName, dc.DataType); | ||||
} | } | ||||
//获取收费标准 非固定项目 | |||||
var finaChargesStandardList = db.FindList<FinaChargesStandardEntity>("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<FinaChargesStandardEntity>(@"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<FinaChargeStuYearEntity>(); | |||||
//获取已有年度学生缴费明细记录 | |||||
var oldFinaChargeStuYearItemList = db.FindList<FinaChargeStuYearItemEntity>("select a.*,b.StuNo from FinaChargeStuYearItem a left join FinaChargeStuYear b on a.FSYId=b.FSYId "); | |||||
// 循环遍历导入 | // 循环遍历导入 | ||||
foreach (DataRow dr in dt.Rows) | 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<FinaChargeStuYearEntity>(m => m.FSYear == entity.FSYear); | |||||
//获取已有年度学生缴费明细记录 | |||||
var oldFinaChargeStuYearItemList = db.FindList<FinaChargeStuYearItemEntity>(m => m.FSYear == entity.FSYear); | |||||
//获取收费标准 | |||||
var finaChargesStandardList = db.FindList<FinaChargesStandardEntity>("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<FinaChargesStandardEntity>(@"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<string>(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) | catch (Exception ex) | ||||
{ | { | ||||
db.Rollback(); | |||||
if (ex is ExceptionEx) | if (ex is ExceptionEx) | ||||
{ | { | ||||
throw; | throw; | ||||
@@ -50,10 +50,15 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement | |||||
[Column("SYEAR")] | [Column("SYEAR")] | ||||
public int SYear { get; set; } | public int SYear { get; set; } | ||||
/// <summary> | /// <summary> | ||||
/// CheckMark | |||||
/// 审核标志 | |||||
/// </summary> | /// </summary> | ||||
[Column("CHECKMARK")] | [Column("CHECKMARK")] | ||||
public bool? CheckMark { get; set; } | public bool? CheckMark { get; set; } | ||||
/// <summary> | |||||
/// 删除标志 | |||||
/// </summary> | |||||
[Column("F_DELETEMARK")] | |||||
public bool? F_DeleteMark { get; set; } | |||||
#endregion | #endregion | ||||
#region 扩展操作 | #region 扩展操作 | ||||
@@ -83,6 +88,8 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement | |||||
public string ChargeItemCode { get; set; } | public string ChargeItemCode { get; set; } | ||||
[NotMapped] | [NotMapped] | ||||
public int? ChargeItemType { get; set; } | public int? ChargeItemType { get; set; } | ||||
[NotMapped] | |||||
public int? priority { get; set; } | |||||
/// <summary> | /// <summary> | ||||
/// 已交金额 | /// 已交金额 | ||||
/// </summary> | /// </summary> | ||||
@@ -366,7 +366,8 @@ namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement | |||||
MajorNo = majorNo, | MajorNo = majorNo, | ||||
Standard = item.Standard, | Standard = item.Standard, | ||||
SYear = Convert.ToInt32(sYear), | SYear = Convert.ToInt32(sYear), | ||||
CheckMark = false | |||||
CheckMark = false, | |||||
F_DeleteMark=false | |||||
}; | }; | ||||
entity.Create(); | entity.Create(); | ||||
db.Insert(entity); | db.Insert(entity); | ||||
@@ -0,0 +1,81 @@ | |||||
using Learun.Util; | |||||
using System; | |||||
using System.ComponentModel.DataAnnotations.Schema; | |||||
namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement | |||||
{ | |||||
/// <summary> | |||||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
/// 创 建:超级管理员 | |||||
/// 日 期:2023-08-12 22:14 | |||||
/// 描 述:FinaChargeStuOrderDetail | |||||
/// </summary> | |||||
public class FinaChargeStuOrderDetailEntity | |||||
{ | |||||
#region 实体成员 | |||||
/// <summary> | |||||
/// Id | |||||
/// </summary> | |||||
[Column("ID")] | |||||
public string Id { get; set; } | |||||
/// <summary> | |||||
/// FCSOId | |||||
/// </summary> | |||||
[Column("FCSOID")] | |||||
public string FCSOId { get; set; } | |||||
/// <summary> | |||||
/// ChargeItemCode | |||||
/// </summary> | |||||
[Column("CHARGEITEMCODE")] | |||||
public string ChargeItemCode { get; set; } | |||||
/// <summary> | |||||
/// ChargeItemName | |||||
/// </summary> | |||||
[Column("CHARGEITEMNAME")] | |||||
public string ChargeItemName { get; set; } | |||||
/// <summary> | |||||
/// 应缴 | |||||
/// </summary> | |||||
[Column("YJAMOUNT")] | |||||
public decimal? YJAmount { get; set; } | |||||
/// <summary> | |||||
/// 实缴 | |||||
/// </summary> | |||||
[Column("SJAMOUNT")] | |||||
public decimal? SJAmount { get; set; } | |||||
/// <summary> | |||||
/// 待缴 | |||||
/// </summary> | |||||
[Column("DJAMOUNT")] | |||||
public decimal? DJAmount { get; set; } | |||||
/// <summary> | |||||
/// 超出余额 | |||||
/// </summary> | |||||
[Column("NOWBLANCE")] | |||||
public decimal? NowBlance { get; set; } | |||||
#endregion | |||||
#region 扩展操作 | |||||
/// <summary> | |||||
/// 新增调用 | |||||
/// </summary> | |||||
public void Create() | |||||
{ | |||||
this.Id = Guid.NewGuid().ToString(); | |||||
NowBlance = 0; | |||||
} | |||||
/// <summary> | |||||
/// 编辑调用 | |||||
/// </summary> | |||||
/// <param name="keyValue"></param> | |||||
public void Modify(string keyValue) | |||||
{ | |||||
this.Id = keyValue; | |||||
} | |||||
#endregion | |||||
#region 扩展字段 | |||||
#endregion | |||||
} | |||||
} | |||||
@@ -0,0 +1,125 @@ | |||||
using Learun.Util; | |||||
using System; | |||||
using System.Data; | |||||
using System.Collections.Generic; | |||||
namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement | |||||
{ | |||||
/// <summary> | |||||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
/// 创 建:超级管理员 | |||||
/// 日 期:2023-08-12 22:14 | |||||
/// 描 述:FinaChargeStuOrderDetail | |||||
/// </summary> | |||||
public class 缴费订单明细BLL : 缴费订单明细IBLL | |||||
{ | |||||
private 缴费订单明细Service 缴费订单明细Service = new 缴费订单明细Service(); | |||||
#region 获取数据 | |||||
/// <summary> | |||||
/// 获取页面显示列表数据 | |||||
/// </summary> | |||||
/// <param name="pagination">分页参数</param> | |||||
/// <param name="queryJson">查询参数</param> | |||||
/// <returns></returns> | |||||
public IEnumerable<FinaChargeStuOrderDetailEntity> GetPageList(Pagination pagination, string queryJson) | |||||
{ | |||||
try | |||||
{ | |||||
return 缴费订单明细Service.GetPageList(pagination, queryJson); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowBusinessException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | |||||
/// 获取FinaChargeStuOrderDetail表实体数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <returns></returns> | |||||
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 提交数据 | |||||
/// <summary> | |||||
/// 删除实体数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
public void DeleteEntity(string keyValue) | |||||
{ | |||||
try | |||||
{ | |||||
缴费订单明细Service.DeleteEntity(keyValue); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowBusinessException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | |||||
/// 保存实体数据(新增、修改) | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <param name="entity">实体</param> | |||||
/// <returns></returns> | |||||
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 | |||||
} | |||||
} |
@@ -0,0 +1,48 @@ | |||||
using Learun.Util; | |||||
using System.Data; | |||||
using System.Collections.Generic; | |||||
namespace Learun.Application.TwoDevelopment.ReceiveSendFeeManagement | |||||
{ | |||||
/// <summary> | |||||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
/// 创 建:超级管理员 | |||||
/// 日 期:2023-08-12 22:14 | |||||
/// 描 述:FinaChargeStuOrderDetail | |||||
/// </summary> | |||||
public interface 缴费订单明细IBLL | |||||
{ | |||||
#region 获取数据 | |||||
/// <summary> | |||||
/// 获取页面显示列表数据 | |||||
/// </summary> | |||||
/// <param name="queryJson">查询参数</param> | |||||
/// <returns></returns> | |||||
IEnumerable<FinaChargeStuOrderDetailEntity> GetPageList(Pagination pagination, string queryJson); | |||||
/// <summary> | |||||
/// 获取FinaChargeStuOrderDetail表实体数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <returns></returns> | |||||
FinaChargeStuOrderDetailEntity GetFinaChargeStuOrderDetailEntity(string keyValue); | |||||
#endregion | |||||
#region 提交数据 | |||||
/// <summary> | |||||
/// 删除实体数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
void DeleteEntity(string keyValue); | |||||
/// <summary> | |||||
/// 保存实体数据(新增、修改) | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <param name="entity">实体</param> | |||||
void SaveEntity(string keyValue, FinaChargeStuOrderDetailEntity entity); | |||||
#endregion | |||||
} | |||||
} |
@@ -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 | |||||
{ | |||||
/// <summary> | |||||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
/// 创 建:超级管理员 | |||||
/// 日 期:2023-08-12 22:14 | |||||
/// 描 述:FinaChargeStuOrderDetail | |||||
/// </summary> | |||||
public class 缴费订单明细Service : RepositoryFactory | |||||
{ | |||||
#region 获取数据 | |||||
/// <summary> | |||||
/// 获取页面显示列表数据 | |||||
/// </summary> | |||||
/// <param name="pagination">查询参数</param> | |||||
/// <param name="queryJson">查询参数</param> | |||||
/// <returns></returns> | |||||
public IEnumerable<FinaChargeStuOrderDetailEntity> 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<FinaChargeStuOrderDetailEntity>(strSql.ToString(),dp, pagination); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowServiceException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | |||||
/// 获取FinaChargeStuOrderDetail表实体数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <returns></returns> | |||||
public FinaChargeStuOrderDetailEntity GetFinaChargeStuOrderDetailEntity(string keyValue) | |||||
{ | |||||
try | |||||
{ | |||||
return this.BaseRepository("CollegeMIS").FindEntity<FinaChargeStuOrderDetailEntity>(keyValue); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowServiceException(ex); | |||||
} | |||||
} | |||||
} | |||||
#endregion | |||||
#region 提交数据 | |||||
/// <summary> | |||||
/// 删除实体数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
public void DeleteEntity(string keyValue) | |||||
{ | |||||
try | |||||
{ | |||||
this.BaseRepository("CollegeMIS").Delete<FinaChargeStuOrderDetailEntity>(t=>t.Id == keyValue); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowServiceException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | |||||
/// 保存实体数据(新增、修改) | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <param name="entity">实体</param> | |||||
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 | |||||
} | |||||
} |