You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

216 lines
6.5 KiB

  1. using Dapper;
  2. using Learun.DataBase.Repository;
  3. using Learun.Util;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Data;
  7. using System.Text;
  8. namespace Learun.Application.TwoDevelopment.PersonnelManagement
  9. {
  10. /// <summary>
  11. /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
  12. /// Copyright (c) 2013-2018 北京泉江科技有限公司
  13. /// 创 建:超级管理员
  14. /// 日 期:2019-03-25 11:16
  15. /// 描 述:工资条
  16. /// </summary>
  17. public class SalarySheetService : RepositoryFactory
  18. {
  19. #region 获取数据
  20. /// <summary>
  21. /// 获取页面显示列表数据
  22. /// <summary>
  23. /// <param name="queryJson">查询参数</param>
  24. /// <returns></returns>
  25. public IEnumerable<SalarySheetEntity> GetPageList(Pagination pagination, string queryJson)
  26. {
  27. try
  28. {
  29. var strSql = new StringBuilder();
  30. strSql.Append("SELECT ");
  31. strSql.Append(@"
  32. t.SalarySheetId,
  33. t.FK_Departmentid,
  34. t.Name,
  35. t.SalaryDate,
  36. t.BaseSalary,
  37. t.JobSubsidies,
  38. t.PerformanceBonus,
  39. t.MobilePhoneFee,
  40. t.TransportationFee,
  41. t.AttendanceBonus,
  42. t.SSalary,
  43. t.PensionInsurance,
  44. t.PersonalLeave,
  45. t.Late,
  46. t.Sick,
  47. t.PersonalIncomeTax,
  48. t.Fsalary
  49. ");
  50. strSql.Append(" FROM SalarySheet t ");
  51. strSql.Append(" WHERE 1=1 ");
  52. var queryParam = queryJson.ToJObject();
  53. // 虚拟参数
  54. var dp = new DynamicParameters(new { });
  55. if (!queryParam["FK_Departmentid"].IsEmpty())
  56. {
  57. dp.Add("FK_Departmentid", queryParam["FK_Departmentid"].ToString(), DbType.String);
  58. strSql.Append(" AND t.FK_Departmentid = @FK_Departmentid ");
  59. }
  60. if (!queryParam["Name"].IsEmpty())
  61. {
  62. dp.Add("Name", "%" + queryParam["Name"].ToString() + "%", DbType.String);
  63. strSql.Append(" AND t.Name Like @Name ");
  64. }
  65. return this.BaseRepository().FindList<SalarySheetEntity>(strSql.ToString(), dp, pagination);
  66. }
  67. catch (Exception ex)
  68. {
  69. if (ex is ExceptionEx)
  70. {
  71. throw;
  72. }
  73. else
  74. {
  75. throw ExceptionEx.ThrowServiceException(ex);
  76. }
  77. }
  78. }
  79. internal object GetList()
  80. {
  81. try
  82. {
  83. var userInfo = LoginUserInfo.Get();
  84. var result = this.BaseRepository().FindList<SalarySheetEntity>(a => a.FK_Departmentid == userInfo.departmentId && userInfo.realName == a.Name);
  85. List<object> list = new List<object>();
  86. foreach (var item in result)
  87. {
  88. var entity = new
  89. {
  90. year = item.SalaryDate?.Year.ToString(),
  91. month = item.SalaryDate?.Month.ToString(),
  92. item.BaseSalary,
  93. item.JobSubsidies,
  94. item.PerformanceBonus,
  95. item.MobilePhoneFee,
  96. item.TransportationFee,
  97. item.AttendanceBonus,
  98. item.SSalary,
  99. item.PensionInsurance,
  100. item.PersonalLeave,
  101. item.Late,
  102. item.Sick,
  103. item.PersonalIncomeTax,
  104. item.Fsalary,
  105. };
  106. list.Add(entity);
  107. }
  108. return list;
  109. }
  110. catch (Exception ex)
  111. {
  112. if (ex is ExceptionEx)
  113. {
  114. throw;
  115. }
  116. else
  117. {
  118. throw ExceptionEx.ThrowServiceException(ex);
  119. }
  120. }
  121. }
  122. /// <summary>
  123. /// 获取SalarySheet表实体数据
  124. /// <param name="keyValue">主键</param>
  125. /// <summary>
  126. /// <returns></returns>
  127. public SalarySheetEntity GetSalarySheetEntity(string keyValue)
  128. {
  129. try
  130. {
  131. return this.BaseRepository().FindEntity<SalarySheetEntity>(keyValue);
  132. }
  133. catch (Exception ex)
  134. {
  135. if (ex is ExceptionEx)
  136. {
  137. throw;
  138. }
  139. else
  140. {
  141. throw ExceptionEx.ThrowServiceException(ex);
  142. }
  143. }
  144. }
  145. #endregion
  146. #region 提交数据
  147. /// <summary>
  148. /// 删除实体数据
  149. /// <param name="keyValue">主键</param>
  150. /// <summary>
  151. /// <returns></returns>
  152. public void DeleteEntity(string keyValue)
  153. {
  154. try
  155. {
  156. this.BaseRepository().Delete<SalarySheetEntity>(t => t.SalarySheetId == keyValue);
  157. }
  158. catch (Exception ex)
  159. {
  160. if (ex is ExceptionEx)
  161. {
  162. throw;
  163. }
  164. else
  165. {
  166. throw ExceptionEx.ThrowServiceException(ex);
  167. }
  168. }
  169. }
  170. /// <summary>
  171. /// 保存实体数据(新增、修改)
  172. /// <param name="keyValue">主键</param>
  173. /// <summary>
  174. /// <returns></returns>
  175. public void SaveEntity(string keyValue, SalarySheetEntity entity)
  176. {
  177. try
  178. {
  179. if (!string.IsNullOrEmpty(keyValue))
  180. {
  181. entity.Modify(keyValue);
  182. this.BaseRepository().Update(entity);
  183. }
  184. else
  185. {
  186. entity.Create();
  187. this.BaseRepository().Insert(entity);
  188. }
  189. }
  190. catch (Exception ex)
  191. {
  192. if (ex is ExceptionEx)
  193. {
  194. throw;
  195. }
  196. else
  197. {
  198. throw ExceptionEx.ThrowServiceException(ex);
  199. }
  200. }
  201. }
  202. #endregion
  203. }
  204. }