颐和api

WorkGroupController.cs 7.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Security.Claims;
  5. using System.Threading.Tasks;
  6. using Api.SignToken;
  7. using MadRunFabric.Common;
  8. using MadRunFabric.Model;
  9. using Microsoft.AspNetCore.Authorization;
  10. using Microsoft.AspNetCore.Mvc;
  11. using Microsoft.Extensions.Configuration;
  12. using Microsoft.Extensions.Logging;
  13. using MongoDB.Driver;
  14. using SignTokenApi.IRepositories;
  15. using SignTokenApi.Model.Input;
  16. namespace SignTokenApi.Controllers
  17. {
  18. /// <summary>
  19. /// 班别
  20. /// </summary>
  21. [Authorize]
  22. [ApiVersion("6.0")]
  23. [Produces("application/json")]
  24. [Route("api/[controller]")]
  25. public class WorkGroupController : BaseController
  26. {
  27. private readonly IConfiguration _configuration;
  28. private readonly ILogger<WorkGroupController> _logger;
  29. private readonly ISys_Work_GroupRepository _sys_work_groupRepository;
  30. private readonly ISys_User_AccountRepository _sys_user_accountRepository;
  31. public WorkGroupController(IConfiguration configuration, ILogger<WorkGroupController> logger, ISys_Work_GroupRepository sys_work_groupRepository, ISys_User_AccountRepository sys_user_accountRepository)
  32. {
  33. _logger = logger;
  34. _configuration = configuration;
  35. _sys_work_groupRepository = sys_work_groupRepository;
  36. _sys_user_accountRepository = sys_user_accountRepository;
  37. }
  38. /// <summary>
  39. /// 获取班别分页
  40. /// </summary>
  41. /// <param name="keyword"></param>
  42. /// <param name="stime"></param>
  43. /// <param name="etime"></param>
  44. /// <param name="pageindex"></param>
  45. /// <param name="pagesize"></param>
  46. /// <returns></returns>
  47. [HttpGet("getlistbypage")]
  48. public IActionResult GetListsByPageAsync(string projectid,string keyword, int pageindex = 1, int pagesize = 10)
  49. {
  50. //#region 条件信息
  51. ////根据条件查询集合
  52. //var listApp = new List<FilterDefinition<Sys_Work_Group>>();
  53. //listApp.Add(Builders<Sys_Work_Group>.Filter.Eq("isdelete", 0));
  54. ////模糊查询
  55. //if (!string.IsNullOrEmpty(keyword))
  56. // listApp.Add(Builders<Sys_Work_Group>.Filter.Where(s => s.name.Contains(keyword) || s.code.Contains(keyword)));
  57. //#endregion
  58. //int recordCount = 0;
  59. //var filter = Builders<Sys_Work_Group>.Filter.And(listApp);
  60. //var list = await _sys_work_groupRepository.GetByPage(filter, pageindex, pagesize);
  61. //var redCount = await _sys_work_groupRepository.CountAsync(filter); //获取总数
  62. //recordCount = int.Parse(redCount.ToString());
  63. //var obj = new
  64. //{
  65. // rows = list,
  66. // total = recordCount,
  67. //};
  68. //return Success("成功", obj);
  69. string nowusercode = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
  70. string allprojectrole = _configuration["allprojectrole"];
  71. var userinfo = _sys_user_accountRepository.GetUserInfo(nowusercode, allprojectrole).ToJson().ToObject<UserInfoModel>();
  72. int recordCount = 0;
  73. var result = _sys_work_groupRepository.GetListsByPage(projectid,keyword, userinfo, pageindex, pagesize, out recordCount);
  74. var obj = new
  75. {
  76. rows = result,
  77. total = recordCount
  78. };
  79. return Success("获取成功", obj);
  80. }
  81. /// <summary>
  82. /// 获取班别
  83. /// </summary>
  84. /// <param name="id">班别id</param>
  85. /// <returns></returns>
  86. [HttpGet("getdetailes")]
  87. public IActionResult GetDetailsAsync(string id)
  88. {
  89. if (string.IsNullOrEmpty(id))
  90. return Error("参数错误");
  91. var model = _sys_work_groupRepository.GetDetails(id);
  92. return Success("获取成功!", model);
  93. }
  94. /// <summary>
  95. /// 添加班别
  96. /// </summary>
  97. /// <param name="input"></param>
  98. /// <returns></returns>
  99. [HttpPost("add")]
  100. public async Task<IActionResult> AddAsync(WorkGroupInput input)
  101. {
  102. #region 验证判断
  103. if (string.IsNullOrEmpty(input.name))
  104. return Error("请输入名称");
  105. if (string.IsNullOrEmpty(input.code))
  106. return Error("请输入代码");
  107. #endregion
  108. var model = new Sys_Work_Group();
  109. model.projectid = input.projectid;
  110. model.name = input.name;
  111. model.code = input.code;
  112. model.starttime = input.starttime;
  113. model.endtime = input.endtime;
  114. model.remark = input.remark;
  115. model.createby = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
  116. model.createbyname = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Name).Value;
  117. model.createtime = DateTime.Now;
  118. if (await _sys_work_groupRepository.Add(model))
  119. {
  120. return Success("添加成功");
  121. }
  122. else
  123. {
  124. return Error("添加失败");
  125. }
  126. }
  127. /// <summary>
  128. /// 修改班别信息
  129. /// </summary>
  130. [HttpPost("update")]
  131. public async Task<IActionResult> UpdateAsync(WorkGroupInput input)
  132. {
  133. #region 验证判断
  134. if (string.IsNullOrEmpty(input.name))
  135. return Error("请输入名称");
  136. if (string.IsNullOrEmpty(input.code))
  137. return Error("请输入代码");
  138. #endregion
  139. var model = await _sys_work_groupRepository.GetSingle(input.id);
  140. if (model == null)
  141. return Error("操作失败");
  142. model.projectid = input.projectid;
  143. model.name = input.name;
  144. model.code = input.code;
  145. model.starttime = input.starttime;
  146. model.endtime = input.endtime;
  147. model.remark = input.remark;
  148. bool b = await _sys_work_groupRepository.Update(model);
  149. if (b)
  150. return Success("修改成功");
  151. return Error("修改失败");
  152. }
  153. /// <summary>
  154. /// 删除班别信息 by ids
  155. /// </summary>
  156. /// <param name="ids"></param>
  157. /// <returns></returns>
  158. [HttpPost("delete")]
  159. public async Task<IActionResult> DeleteAsync(string[] ids)
  160. {
  161. var res = 0;
  162. if (ids != null && ids.Length > 0)
  163. {
  164. foreach (var item in ids)
  165. {
  166. //var ml = await _sys_work_groupRepository.GetSingle(item);
  167. //ml.isdelete = 1;
  168. //ml.deletetime = DateTime.Now;
  169. //ml.deleteby = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
  170. //if (_sys_work_groupRepository.Update(ml).Result)
  171. // res += 1;
  172. if (await _sys_work_groupRepository.Remove(item))
  173. res += 1;
  174. }
  175. if (res == ids.Length)
  176. return Success("删除成功");
  177. else if (res > 0 && res < ids.Length)
  178. return Error("部分删除失败,请查看后重新操作");
  179. else
  180. return Error("删除失败,请查看后重新操作");
  181. }
  182. else
  183. return Error("请选择要删除的记录");
  184. }
  185. }
  186. }