public async Task SaveReport(OrderHandoverRequest request) { request.CreatorId = base.CurrentUser.UserId; request.CreatorName = base.CurrentUser.UserName; request.CreateTime = request.HandoverDate = DateTime.Now; request.SchoolId = base.SchoolId; await new OrderHandoverService(base.SchoolId).SaveReport(request); }
/// <summary> /// 生成收款交接单之前进行数据校验 /// <para>作 者:郭伟佳</para> /// <para>创建时间:2018-12-25</para> /// </summary> /// <param name="request">收款交接信息请求对象</param> /// <param name="details">收款交接明细信息</param> /// <exception cref="AMS.Core.BussinessException"> /// 异常ID: /// 21. 系统不存在该招生专员的收款交接信息 /// 26. 交接单发生变化,请重新交接 /// </exception> private void CheckReport(OrderHandoverRequest request, IEnumerable <TblFinOrderHandoverDetail> details) { //是否存在收款交接明细信息 if (!details.Any()) { throw new BussinessException((byte)ModelType.Order, 21); } //检查收款交接单的总记录数与总金额数是否有问题 if (details.Count() != request.TotalRecord || details.Sum(a => a.PayAmount + a.UseBalanceAmount + a.TotalDiscountFee) != request.TotalAmount) { throw new BussinessException((byte)ModelType.Order, 26); } }
/// <summary> /// 生成收款交接表信息 /// <para>作 者:郭伟佳</para> /// <para>创建时间:2018-11-19</para> /// </summary> /// <param name="request">收款交接信息请求对象</param> /// <returns>无</returns> /// <exception cref="AMS.Core.BussinessException"> /// 异常ID: /// 21. 系统不存在该招生专员的收款交接信息 /// 26. 交接单发生变化,请重新交接 /// </exception> public async Task SaveReport(OrderHandoverRequest request) { //获取收款交接明细信息 var details = _detailRepository.Value.GetDetailsByPersonalId(request.SchoolId, request.PersonalId).Result.Where(a => a.HandoverStatus == (int)HandoverStatus.Checked); //1.数据校验 CheckReport(request, details); //2.生成收款交接信息 TblFinOrderHandover entity = AddOrderHandover(request); //3.收款交接明细的交接日期 await _detailRepository.Value.UpdateDetailsByHandoverId(entity); //4.更新订单状态为已完成 UpdateOrderStatus(details); }
/// <summary> /// 添加收款交接信息 /// <para>作 者:郭伟佳</para> /// <para>创建时间:2018-12-25</para> /// </summary> /// <param name="request">收款交接信息请求对象</param> /// <returns>订单交接核对信息</returns> private TblFinOrderHandover AddOrderHandover(OrderHandoverRequest request) { var entity = new TblFinOrderHandover { OrderHandoverId = IdGenerator.NextId(), SchoolId = request.SchoolId, PersonalId = request.PersonalId, PersonalName = request.PersonalName, DayIncomeAmout = request.DayIncomeAmout, InBankAmount = request.InBankAmount, ReceiptNumber = request.ReceiptNumber, HandoverDate = request.HandoverDate, RecipientUrl = request.RecipientUrl, HandoverUrl = request.HandoverUrl, Remark = request.Remark, CreatorId = request.CreatorId, CreatorName = request.CreatorName, CreateTime = request.CreateTime }; _repository.Value.Add(entity); return(entity); }