Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 
 
 

95 lignes
3.2 KiB

  1. using Learun.DataBase.Repository;
  2. using Learun.Util;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. namespace Learun.Application.CRM
  7. {
  8. /// <summary>
  9. /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
  10. /// Copyright (c) 2013-2018 北京泉江科技有限公司
  11. /// 创 建:超级管理员
  12. /// 日 期:2017-07-11 14:20
  13. /// 描 述:现金余额
  14. /// </summary>
  15. public class CrmCashBalanceService : RepositoryFactory
  16. {
  17. #region 获取数据
  18. /// <summary>
  19. /// 获取列表
  20. /// </summary>
  21. /// <param name="queryJson">查询参数</param>
  22. /// <returns>返回列表</returns>
  23. public IEnumerable<CrmCashBalanceEntity> GetList(string queryJson)
  24. {
  25. try
  26. {
  27. var expression = LinqExtensions.True<CrmCashBalanceEntity>();
  28. var queryParam = queryJson.ToJObject();
  29. //单据日期
  30. if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty())
  31. {
  32. DateTime startTime = queryParam["StartTime"].ToDate();
  33. DateTime endTime = queryParam["EndTime"].ToDate().AddDays(1);
  34. expression = expression.And(t => t.F_ExecutionDate >= startTime && t.F_ExecutionDate <= endTime);
  35. }
  36. return this.BaseRepository().IQueryable(expression).OrderBy(t => t.F_CreateDate).ToList();
  37. }
  38. catch (Exception ex)
  39. {
  40. if (ex is ExceptionEx)
  41. {
  42. throw;
  43. }
  44. else
  45. {
  46. throw ExceptionEx.ThrowServiceException(ex);
  47. }
  48. }
  49. }
  50. #endregion
  51. #region 提交数据
  52. /// <summary>
  53. /// 添加收支余额
  54. /// </summary>
  55. /// <param name="db"></param>
  56. /// <param name="cashBalanceEntity"></param>
  57. public void AddBalance(IRepository db, CrmCashBalanceEntity cashBalanceEntity)
  58. {
  59. try
  60. {
  61. decimal balance = 0;
  62. var data = db.IQueryable<CrmCashBalanceEntity>(t => t.F_CashAccount == cashBalanceEntity.F_CashAccount).OrderByDescending(t => t.F_CreateDate);
  63. if (data.Count() > 0)
  64. {
  65. balance = data.First().F_Balance.ToDecimal();
  66. }
  67. if (cashBalanceEntity.F_Receivable != null)
  68. {
  69. cashBalanceEntity.F_Balance = cashBalanceEntity.F_Receivable + balance;
  70. }
  71. if (cashBalanceEntity.F_Expenses != null)
  72. {
  73. cashBalanceEntity.F_Balance = balance - cashBalanceEntity.F_Expenses;
  74. }
  75. cashBalanceEntity.Create();
  76. db.Insert(cashBalanceEntity);
  77. }
  78. catch (Exception ex)
  79. {
  80. if (ex is ExceptionEx)
  81. {
  82. throw;
  83. }
  84. else
  85. {
  86. throw ExceptionEx.ThrowServiceException(ex);
  87. }
  88. }
  89. }
  90. #endregion
  91. }
  92. }