颐和api

UserGroupController.cs 9.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Security.Claims;
  5. using System.Threading.Tasks;
  6. using MadRunFabric.Common;
  7. using MadRunFabric.Model;
  8. using Microsoft.AspNetCore.Authorization;
  9. using Microsoft.AspNetCore.Mvc;
  10. using Microsoft.Extensions.Logging;
  11. using MongoDB.Driver;
  12. using SignTokenApi.IRepositories;
  13. using SignTokenApi.Model.Input;
  14. namespace SignTokenApi.Controllers
  15. {
  16. /// <summary>
  17. /// 用户班别
  18. /// </summary>
  19. [Authorize]
  20. [ApiVersion("6.0")]
  21. [Produces("application/json")]
  22. [Route("api/[controller]")]
  23. public class UserGroupController : BaseController
  24. {
  25. private readonly ILogger<UserGroupController> _logger;
  26. private readonly ISys_Work_UserGroupRepository _sys_work_usergroupRepository;
  27. private readonly ISys_Work_GroupRepository _sys_work_groupRepository;
  28. private readonly ISys_User_AccountRepository _sys_user_accountRepository;
  29. public UserGroupController(ILogger<UserGroupController> logger, ISys_Work_UserGroupRepository sys_work_usergroupRepository,
  30. ISys_Work_GroupRepository sys_work_groupRepository, ISys_User_AccountRepository sys_user_accountRepository)
  31. {
  32. _logger = logger;
  33. _sys_work_usergroupRepository = sys_work_usergroupRepository;
  34. _sys_work_groupRepository = sys_work_groupRepository;
  35. _sys_user_accountRepository = sys_user_accountRepository;
  36. }
  37. /// <summary>
  38. /// 获取排班人员
  39. /// </summary>
  40. /// <param name="keyword"></param>
  41. /// <returns></returns>
  42. [HttpGet("getuserlist")]
  43. public IActionResult GetUserList(string projectid, string keyword)
  44. {
  45. var result = _sys_work_usergroupRepository.GetUserList(projectid, keyword);
  46. return Success("获取成功", result);
  47. }
  48. /// <summary>
  49. /// 获取班别
  50. /// </summary>
  51. /// <param name="keyword"></param>
  52. /// <returns></returns>
  53. [HttpGet("getgrouplist")]
  54. public async Task<IActionResult> GetGroupList(string projectid, string keyword)
  55. {
  56. #region 条件信息
  57. ////排序字段
  58. var sort = Builders<Sys_Work_Group>.Sort.Ascending("sort");
  59. //根据条件查询集合
  60. var listApp = new List<FilterDefinition<Sys_Work_Group>>();
  61. listApp.Add(Builders<Sys_Work_Group>.Filter.Eq("isdelete", 0));
  62. if (!string.IsNullOrEmpty(projectid))
  63. listApp.Add(Builders<Sys_Work_Group>.Filter.Where(s => s.projectid == projectid));
  64. //模糊查询
  65. if (!string.IsNullOrEmpty(keyword))
  66. listApp.Add(Builders<Sys_Work_Group>.Filter.Where(s => s.name.Contains(keyword) || s.code.Contains(keyword)));
  67. #endregion
  68. var filter = Builders<Sys_Work_Group>.Filter.And(listApp);
  69. var list = await _sys_work_groupRepository.Get(filter);
  70. return Success("获取成功", list);
  71. }
  72. /// <summary>
  73. /// 获取排班详情
  74. /// </summary>
  75. /// <param name="projectid"></param>
  76. /// <param name="startdate"></param>
  77. /// <param name="enddate"></param>
  78. /// <param name="usercode"></param>
  79. /// <param name="groupcode"></param>
  80. /// <returns></returns>
  81. [HttpGet("getusergrouplist")]
  82. public IActionResult GetUserGroupList(string projectid, string startdate, string enddate, string usercode, string groupcode)
  83. {
  84. var result = _sys_work_usergroupRepository.GetUserGroupList(projectid,startdate, enddate, usercode, groupcode);
  85. return Success("成功", result);
  86. }
  87. /// <summary>
  88. /// 获取用户排班详情
  89. /// </summary>
  90. /// <param name="usercode"></param>
  91. /// <param name="date"></param>
  92. /// <returns></returns>
  93. [HttpGet("getusergroupinfo")]
  94. public IActionResult GetUserGroupInfo(string usercode, string date)
  95. {
  96. var result = _sys_work_usergroupRepository.GetUserGroupInfo(usercode, date);
  97. return Success("成功", result);
  98. }
  99. /// <summary>
  100. /// 获取用户班别
  101. /// </summary>
  102. /// <param name="id">用户班别id</param>
  103. /// <returns></returns>
  104. [HttpGet("getsingle")]
  105. public async Task<IActionResult> GetSingleAsync(string usercode, string date)
  106. {
  107. var model = await _sys_work_usergroupRepository.GetSingle(p => p.usercode == usercode && p.date == date && p.isdelete == 0);
  108. if (model != null)
  109. return Success("获取成功!", model);
  110. return Error("获取失败");
  111. }
  112. /// <summary>
  113. /// 获取用户班别
  114. /// </summary>
  115. /// <param name="id">用户班别id</param>
  116. /// <returns></returns>
  117. [HttpGet("getdetailes")]
  118. public async Task<IActionResult> GetDetailsAsync(string id)
  119. {
  120. if (string.IsNullOrEmpty(id))
  121. return Error("参数错误");
  122. var model = await _sys_work_usergroupRepository.GetSingle(id);
  123. if (model == null)
  124. {
  125. return Error("获取失败");
  126. }
  127. return Success("获取成功!", model);
  128. }
  129. /// <summary>
  130. /// 设置用户班别
  131. /// </summary>
  132. /// <param name="input"></param>
  133. /// <returns></returns>
  134. [HttpPost("setusergroup")]
  135. public async Task<IActionResult> SetUserGroupAsync(string usercode, string groupcode, string date)
  136. {
  137. #region 验证判断
  138. if (string.IsNullOrEmpty(usercode))
  139. return Error("用户不能为空");
  140. if (string.IsNullOrEmpty(date))
  141. return Error("日期不能为空");
  142. #endregion
  143. var model = await _sys_work_usergroupRepository.GetSingle(p => p.usercode == usercode && p.date == date && p.isdelete == 0);
  144. if (model != null)
  145. {
  146. model.usercode = usercode;
  147. model.groupcode = groupcode;
  148. model.date = date;
  149. if (await _sys_work_usergroupRepository.Update(model))
  150. return Success("设置成功");
  151. return Error("设置失败");
  152. }
  153. else
  154. {
  155. model = new Sys_Work_UserGroup();
  156. model.usercode = usercode;
  157. model.groupcode = groupcode;
  158. model.date = date;
  159. model.isdelete = 0;
  160. model.createtime = DateTime.Now;
  161. model.createby = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
  162. model.createbyname = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Name).Value;
  163. if (await _sys_work_usergroupRepository.Add(model))
  164. return Success("设置成功");
  165. return Error("设置失败");
  166. }
  167. }
  168. /// <summary>
  169. /// 删除用户班别信息 by ids
  170. /// </summary>
  171. /// <param name="ids"></param>
  172. /// <returns></returns>
  173. [HttpPost("delete")]
  174. public async Task<IActionResult> RemoveAsync(string usercode, string date)
  175. {
  176. var ml = await _sys_work_usergroupRepository.GetSingle(p => p.usercode == usercode && p.date == date && p.isdelete == 0);
  177. //ml.isdelete = 1;
  178. //ml.deletetime = DateTime.Now;
  179. //ml.deleteby = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
  180. //if (await _sys_work_usergroupRepository.Update(ml))
  181. if (await _sys_work_usergroupRepository.Remove(ml.id))
  182. return Success("删除成功");
  183. return Error("删除失败");
  184. }
  185. /// <summary>
  186. /// 删除用户班别信息 by ids
  187. /// </summary>
  188. /// <param name="ids"></param>
  189. /// <returns></returns>
  190. [HttpPost("deletes")]
  191. public async Task<IActionResult> DeleteAsync(string[] ids)
  192. {
  193. var res = 0;
  194. if (ids != null && ids.Length > 0)
  195. {
  196. foreach (var item in ids)
  197. {
  198. //var ml = await _sys_work_usergroupRepository.GetSingle(item);
  199. //ml.isdelete = 1;
  200. //ml.deletetime = DateTime.Now;
  201. //ml.deleteby = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
  202. //if (await _sys_work_usergroupRepository.Update(ml))
  203. // res += 1;
  204. if (await _sys_work_usergroupRepository.Remove(item))
  205. res += 1;
  206. }
  207. if (res == ids.Length)
  208. return Success("删除成功");
  209. else if (res > 0 && res < ids.Length)
  210. return Error("部分删除失败,请查看后重新操作");
  211. else
  212. return Error("删除失败,请查看后重新操作");
  213. }
  214. else
  215. return Error("请选择要删除的记录");
  216. }
  217. }
  218. }