WageSheetRepository.cs 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. using AutoMapper;
  2. using OASystem.Domain.Dtos.PersonnelModule;
  3. using OASystem.Domain.Entities.PersonnelModule;
  4. using OASystem.Domain.ViewModels.PersonnelModule;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using SqlSugar;
  11. using Result = OASystem.Domain.Result;
  12. namespace OASystem.Infrastructure.Repositories.PersonnelModule
  13. {
  14. /// <summary>
  15. /// 人事模块 工资表 仓库
  16. /// </summary>
  17. public class WageSheetRepository : BaseRepository<Pm_WageSheet, WageSheetView>
  18. {
  19. private readonly IMapper _mapper;
  20. private Result _result;
  21. public WageSheetRepository(SqlSugarClient sqlSugar, IMapper mapper)
  22. : base(sqlSugar)
  23. {
  24. _mapper = mapper;
  25. _result = new Result();
  26. }
  27. /// <summary>
  28. /// 查询工资 List
  29. /// </summary>
  30. /// <returns></returns>
  31. public async Task<Result> Get_WageSheet_ListByYearMonthAsync(string yearMonth )
  32. {
  33. if (string.IsNullOrEmpty(yearMonth))
  34. {
  35. _result.Msg = "参数为空";
  36. return _result;
  37. }
  38. string sql = string.Format(@"Select sys_u1.CnName Name,sys_u2.CnName LastUpdateUserName,pm_ws.Id,
  39. pm_ws.YearMonth,pm_ws.StartDate,pm_ws.EndDate,pm_ws.UserId,pm_ws.Should,
  40. pm_ws.TotalDeductions,pm_ws.TotalRealHair,pm_ws.WithholdingTax,pm_ws.AfterTax
  41. From Pm_WageSheet pm_ws
  42. Left Join Sys_Users sys_u1 On pm_ws.UserId = sys_u1.Id
  43. Left Join Sys_Users sys_u2 On pm_ws.LastUpdateUserId = sys_u2.Id
  44. Where pm_ws.IsDel = 0 And pm_ws.YearMonth = '{0}'", yearMonth);
  45. var wageSheetList = await _sqlSugar.SqlQueryable<WageSheetItemInfoView>(sql).ToListAsync();
  46. if (wageSheetList.Count <= 0 )
  47. {
  48. _result.Msg = "暂无数据!";
  49. return _result;
  50. }
  51. _result.Code = 0;
  52. _result.Msg = "查询成功!";
  53. _result.Data = wageSheetList;
  54. return _result;
  55. }
  56. /// <summary>
  57. /// 查询工资 Info
  58. /// </summary>
  59. /// <returns></returns>
  60. public async Task<Result> Get_WageSheet_InfoByIdAsync(int id)
  61. {
  62. string sql = string.Format(@"Select sys_u1.CnName Name,sys_u2.CnName LastUpdateUserName,pm_ws.* From Pm_WageSheet pm_ws
  63. Left Join Sys_Users sys_u1 On pm_ws.UserId = sys_u1.Id
  64. Left Join Sys_Users sys_u2 On pm_ws.LastUpdateUserId = sys_u2.Id
  65. Where pm_ws.IsDel = 0 And pm_ws.Id = {0}", id);
  66. var wageSheetInfo = await _sqlSugar.SqlQueryable<WageSheetInfoView>(sql).ToListAsync();
  67. _result.Code = 0;
  68. _result.Msg = "查询成功!";
  69. _result.Data = wageSheetInfo;
  70. return _result;
  71. }
  72. /// <summary>
  73. /// 修改
  74. /// </summary>
  75. /// <returns></returns>
  76. public async Task<Result> Post_WageSheet_AddOrEditAsync(WageAddOrEditDto dto)
  77. {
  78. Pm_WageSheet pm_WageSheet = new Pm_WageSheet();
  79. pm_WageSheet = _mapper.Map<Pm_WageSheet>(dto);
  80. pm_WageSheet.LastUpdateUserId = dto.CreateUserId;
  81. if (dto.Status == 1) //添加
  82. {
  83. int add = await _sqlSugar.Insertable(pm_WageSheet).ExecuteReturnIdentityAsync();
  84. if (add <= 0)
  85. {
  86. _result.Msg = "操作失败!";
  87. return _result;
  88. }
  89. }
  90. else if(dto.Status == 2) //修改
  91. {
  92. int update = await _sqlSugar.Updateable(pm_WageSheet)
  93. .IgnoreColumns(it => new { it.CreateUserId, it.CreateTime,it.DeleteUserId,it.DeleteTime })
  94. .WhereColumns(it => new { it.Id })
  95. .ExecuteCommandAsync();
  96. if (update <= 0)
  97. {
  98. _result.Msg = "操作失败!";
  99. return _result;
  100. }
  101. }
  102. else{
  103. _result.Msg = "请输入操作状态!1 添加 2 修改";
  104. }
  105. _result.Code = 0;
  106. _result.Msg = "操作成功!";
  107. return _result;
  108. }
  109. }
  110. }