足力健后端,使用.netcore版本,合并1个项目使用

Bus_OrderRepository.cs 7.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.IRepositories;
  5. using System.Model;
  6. using System.Common;
  7. using System.Data;
  8. using SqlSugar;
  9. using System.Threading.Tasks;
  10. using NLog.Web.LayoutRenderers;
  11. namespace System.Repositories
  12. {
  13. public class Bus_OrderRepository : BaseRepository<T_Bus_Order>, IBus_OrderRepository
  14. {
  15. /// <summary>
  16. /// 获取某月员工绩效 发单总数 发单总金额 0 未发出 1未签收2签收3改代收4拒收
  17. /// </summary>
  18. /// <param name="userid">某员工</param>
  19. /// <param name="dtStart">时间所在月</param>
  20. /// <returns></returns>
  21. public async Task<List<decimal>> SendTotleNumber(int userid,DateTime dtStart)
  22. {
  23. List<decimal> intarry = new List<decimal>() { -1, -0.00M };
  24. try
  25. {
  26. List<SugarParameter> sugarParameter = new List<SugarParameter>();
  27. sugarParameter.Add(new SugarParameter("@userid", userid));
  28. sugarParameter.Add(new SugarParameter("@startTime", dtStart));
  29. sugarParameter.Add(new SugarParameter("@endTime", dtStart.AddMonths(1)));
  30. DataTable dt = await GetTableSugar("SELECT COUNT(1),SUM(F_ShouldPrice) FROM T_Bus_Order WHERE F_Belong= @userid AND F_State>=6 AND F_AddTime BETWEEN @startTime AND @endTime", sugarParameter);
  31. if (dt != null && dt.Rows.Count > 0)
  32. {
  33. intarry.Clear();
  34. intarry.Add(dt.Rows[0][0].ObjToInt());
  35. intarry.Add(dt.Rows[0][1].ObjToDecimal());
  36. }
  37. return intarry;
  38. }
  39. catch { return intarry; }
  40. }
  41. /// <summary>
  42. /// 获取某月员工绩效 签收 0 未发出 1未签收2签收3改代收4拒收
  43. /// </summary>
  44. /// <param name="userid">某员工</param>
  45. /// <param name="dtStart">时间所在月</param>
  46. /// <returns></returns>
  47. public async Task<List<decimal>> SignNumber(int userid, DateTime dtStart)
  48. {
  49. List<decimal> intarry = new List<decimal>() { -1, -0.00M };
  50. try
  51. {
  52. List<SugarParameter> sugarParameter = new List<SugarParameter>();
  53. sugarParameter.Add(new SugarParameter("@userid", userid));
  54. sugarParameter.Add(new SugarParameter("@startTime", dtStart));
  55. sugarParameter.Add(new SugarParameter("@endTime", dtStart.AddMonths(1)));
  56. DataTable dt = await GetTableSugar("SELECT COUNT(1),SUM(F_ShouldPrice) FROM T_Bus_Order WHERE F_Belong= @userid AND F_State>=6 AND (F_Status = 2 OR F_Status = 3) AND F_AddTime BETWEEN @startTime AND @endTime", sugarParameter);
  57. if (dt != null && dt.Rows.Count > 0)
  58. {
  59. intarry.Clear();
  60. intarry.Add(dt.Rows[0][0].ObjToInt());
  61. intarry.Add(dt.Rows[0][1].ObjToDecimal());
  62. }
  63. return intarry;
  64. }
  65. catch { return intarry; }
  66. }
  67. /// <summary>
  68. /// 获取某月员工绩效 拒收 0 未发出 1未签收2签收3改代收4拒收
  69. /// </summary>
  70. /// <param name="userid">某员工</param>
  71. /// <param name="dtStart">时间所在月</param>
  72. /// <returns></returns>
  73. public async Task<List<decimal>> RefuseNumber(int userid, DateTime dtStart)
  74. {
  75. List<decimal> intarry = new List<decimal>() { -1, -0.00M };
  76. try
  77. {
  78. List<SugarParameter> sugarParameter = new List<SugarParameter>();
  79. sugarParameter.Add(new SugarParameter("@userid", userid));
  80. sugarParameter.Add(new SugarParameter("@startTime", dtStart));
  81. sugarParameter.Add(new SugarParameter("@endTime", dtStart.AddMonths(1)));
  82. DataTable dt = await GetTableSugar("SELECT COUNT(1),SUM(F_ShouldPrice) FROM T_Bus_Order WHERE F_Belong= @userid AND F_State>=6 AND F_Status = 4 AND F_AddTime BETWEEN @startTime AND @endTime", sugarParameter);
  83. if (dt != null && dt.Rows.Count > 0)
  84. {
  85. intarry.Clear();
  86. intarry.Add(dt.Rows[0][0].ObjToInt());
  87. intarry.Add(dt.Rows[0][1].ObjToDecimal());
  88. }
  89. return intarry;
  90. }
  91. catch { return intarry; }
  92. }
  93. /// <summary>
  94. /// 获取某月员工绩效 录入错误上上月 有可能拒改签,有可能签改拒
  95. /// </summary>
  96. /// <param name="userid">某员工</param>
  97. /// <param name="dtStart">时间所在月(下一个月)</param>
  98. /// <returns></returns>
  99. public async Task<List<decimal>> ErrorNumber(int userid, DateTime dtStart)
  100. {
  101. List<decimal> intarry = new List<decimal>();
  102. List<decimal> intarry1 = new List<decimal>() { 0, 0 };
  103. List<decimal> intarry2 = new List<decimal>() { 0, 0 };
  104. try
  105. {
  106. List<SugarParameter> sugarParameter = new List<SugarParameter>();
  107. sugarParameter.Add(new SugarParameter("@userid", userid));
  108. sugarParameter.Add(new SugarParameter("@startTime", dtStart.AddMonths(-1)));
  109. sugarParameter.Add(new SugarParameter("@endTime", dtStart));
  110. DataTable dt = await GetTableSugar("SELECT COUNT(1),SUM(F_ShouldPrice) FROM T_Bus_Order WHERE F_Belong= @userid AND F_State>=6 AND F_Tag LIKE '拒改签' AND F_Status > 1 AND F_AddTime BETWEEN @startTime AND @endTime", sugarParameter);
  111. if (dt != null && dt.Rows.Count > 0)
  112. {
  113. intarry1.Clear();
  114. intarry1.Add(dt.Rows[0][0].ObjToInt());
  115. intarry1.Add(dt.Rows[0][1].ObjToDecimal());
  116. }
  117. await GetTableSugar("SELECT COUNT(1),SUM(F_ShouldPrice) FROM T_Bus_Order WHERE F_Belong= @userid AND F_State>=6 AND F_Tag LIKE '签改拒' AND F_Status > 1 AND F_AddTime BETWEEN @startTime AND @endTime", sugarParameter);
  118. if (dt != null && dt.Rows.Count > 0)
  119. {
  120. intarry2.Clear();
  121. intarry2.Add(dt.Rows[0][0].ObjToInt());
  122. intarry2.Add(dt.Rows[0][1].ObjToDecimal());
  123. }
  124. intarry.Add(intarry1[0]- intarry2[0]);
  125. intarry.Add(intarry1[1] - intarry2[1]);
  126. return intarry;
  127. }
  128. catch { return intarry; }
  129. }
  130. /// <summary>
  131. /// 获取某月员工绩效 单独统计的物品 特殊统计物品 F_ClassId 1鞋垫 2袜子
  132. /// </summary>
  133. /// <param name="userid">某员工</param>
  134. /// <param name="dtStart">时间所在月</param>
  135. /// <returns></returns>
  136. public async Task<decimal> AlongMoney(int userid, DateTime dtStart)
  137. {
  138. decimal intarry = 0.00M ;
  139. try
  140. {
  141. List<SugarParameter> sugarParameter = new List<SugarParameter>();
  142. sugarParameter.Add(new SugarParameter("@userid", userid));
  143. sugarParameter.Add(new SugarParameter("@startTime", dtStart));
  144. sugarParameter.Add(new SugarParameter("@endTime", dtStart.AddMonths(1)));
  145. DataTable dt = await GetTableSugar("SELECT SUM(F_TotlePrice) FROM `T_Bus_OrderDetail` WHERE F_OrderId IN(SELECT F_Id FROM T_Bus_Order WHERE F_Belong= @userid AND F_State>=6 AND (F_Status = 2 OR F_Status = 3) AND F_AddTime BETWEEN @startTime AND @endTime) AND `F_ProductId` IN (SELECT F_ProductId FROM `T_Bus_Product` WHERE F_ClassId IN (1,2))", sugarParameter);
  146. if (dt != null && dt.Rows.Count > 0)
  147. {
  148. intarry = dt.Rows[0][0].ObjToDecimal();
  149. }
  150. return intarry;
  151. }
  152. catch { return intarry; }
  153. }
  154. }
  155. }