StaffController.cs 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654
  1. using Microsoft.AspNetCore.Mvc;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Data;
  5. using wispro.sp.entity;
  6. using wispro.sp.share;
  7. using System.Linq;
  8. using Microsoft.AspNetCore.Authentication.JwtBearer;
  9. using Microsoft.AspNetCore.Authorization;
  10. using wispro.sp.entity.workflowDefine;
  11. using Microsoft.EntityFrameworkCore;
  12. using System.Collections;
  13. using NPOI.SS.Formula.Functions;
  14. namespace wispro.sp.api.Controllers
  15. {
  16. [Authorize]
  17. [Route("api/[controller]/[action]")]
  18. [ApiController]
  19. public class StaffController : ControllerBase
  20. {
  21. private static List<Staff> CacheList = new List<Staff>();
  22. spDbContext Context;
  23. public StaffController(spDbContext context)
  24. {
  25. Context = context;
  26. }
  27. public List<Staff> GetAll()
  28. {
  29. return Context.Staffs.ToList<Staff>();
  30. }
  31. private List<Staff> GetStaffList(dynamic dynamic, UserField userField)
  32. {
  33. try
  34. {
  35. Staff temUser = null;
  36. switch (userField.UserConditionType)
  37. {
  38. case UserConditionType.Staff:
  39. switch (userField.UserType)
  40. {
  41. case UserType.BindObjectProperty:
  42. if (dynamic == null)
  43. {
  44. return null;
  45. }
  46. else
  47. {
  48. var retObj = share.Utility.ObjectHelper.GetPropertyValue(userField.UserValue, dynamic);
  49. if (retObj is Staff)
  50. {
  51. return new List<Staff>() { (Staff)retObj };
  52. }
  53. else
  54. {
  55. if (retObj is List<Staff>)
  56. {
  57. return (List<Staff>)retObj;
  58. }
  59. }
  60. }
  61. break;
  62. case UserType.DoActionUser:
  63. break;
  64. case UserType.LoginUser:
  65. temUser = Context.Staffs.FirstOrDefault(s => s.Name == User.Identity.Name);
  66. return new List<Staff>() { temUser };
  67. break;
  68. case UserType.Staff:
  69. temUser = Context.Staffs.FirstOrDefault(s => s.Id == int.Parse(userField.UserValue.ToString()));
  70. if (temUser != null)
  71. {
  72. return new List<Staff>() { temUser };
  73. }
  74. break;
  75. }
  76. break;
  77. case UserConditionType.Department:
  78. var retList = Context.DepartmentPositions.Where(d => d.departmentId == int.Parse(userField.Department)).Select(p => p.Staff).ToList();
  79. return retList.Where(s => s.IsOnJob).ToList();
  80. break;
  81. case UserConditionType.Position:
  82. var query = Context.Staffs.Where(s => true);
  83. var queryList = from u in query
  84. where ((from dp in Context.DepartmentPositions.Where(d => d.PositionId == int.Parse(userField.Positon)) select dp.StaffId).Contains(u.Id))
  85. select u;
  86. return queryList.ToList();
  87. break;
  88. case UserConditionType.UserDepartment:
  89. break;
  90. case UserConditionType.UserDepartmentPosition:
  91. break;
  92. case UserConditionType.DepartmentPosition:
  93. var retList1 = Context.DepartmentPositions.Where(d =>
  94. d.departmentId == int.Parse(userField.Department) &&
  95. d.PositionId == int.Parse(userField.Positon)
  96. )
  97. .Select(p => p.Staff).ToList();
  98. return retList1;
  99. break;
  100. }
  101. return new List<Staff>();
  102. }
  103. catch (Exception ex)
  104. {
  105. throw;
  106. }
  107. }
  108. public List<Staff> GetReviewers(int itemId, int appealTypeId)
  109. {
  110. try
  111. {
  112. var item = Context.PerformanceItems
  113. .Include(p => p.Reviewer)
  114. .Include(p => p.ItemStaffs).ThenInclude(p => p.DoPerson)
  115. .Include(p => p.PreOastaff)
  116. .Include(p => p.Customer)
  117. .FirstOrDefault(p => p.Id == itemId);
  118. var apType = Context.AppealTypes.FirstOrDefault(p => p.Id == appealTypeId);
  119. UserField user = new UserField();
  120. if (String.IsNullOrEmpty(apType.ReviewerExpress))
  121. {
  122. return Context.Staffs.ToList();
  123. }
  124. else
  125. {
  126. List<UserField> lstUserField = new List<UserField>();
  127. if (apType.ReviewerExpress.StartsWith("p."))
  128. {
  129. UserField userField = new UserField();
  130. userField.UserConditionType = UserConditionType.Staff;
  131. userField.UserType = UserType.BindObjectProperty;
  132. userField.UserValue = apType.ReviewerExpress.Replace("p.", "").Trim();
  133. lstUserField.Add(userField);
  134. }
  135. else
  136. {
  137. lstUserField = System.Text.Json.JsonSerializer.Deserialize<List<UserField>>(apType.ReviewerExpress);
  138. //UserField userField = System.Text.Json.JsonSerializer.Deserialize<UserField>(apType.ReviewerExpress);
  139. }
  140. List<Staff> retStaffs = new List<Staff>();
  141. foreach (UserField uf in lstUserField)
  142. {
  143. var temStaffs = GetStaffList(item, uf);
  144. if (temStaffs != null)
  145. {
  146. foreach (var staff in temStaffs)
  147. {
  148. if (retStaffs.FirstOrDefault(s => s.Id == staff.Id) == null)
  149. {
  150. staff.Customers = null;
  151. staff.StaffGrade = null;
  152. staff.ItemStaffs = null;
  153. staff.Positions = null;
  154. staff.ReviewerItems = null;
  155. #region 处理人为审核人,提交给部门顾问
  156. if (apType.Name == "案件系数复核" || apType.Name == "特殊情况申诉")
  157. {
  158. foreach (var doPerson in item.ItemStaffs)
  159. {
  160. if (doPerson.DoPerson.Id == staff.Id)
  161. {
  162. if (AuditUsers().Contains(staff.Name))
  163. {
  164. var temStaff = Context.Staffs
  165. .Where<Staff>(s => ((List<string>)AuditUsers()[staff.Name]).Contains(s.Name))
  166. .ToList();
  167. if (temStaff.Count > 0)
  168. {
  169. return temStaff;
  170. }
  171. }
  172. break;
  173. }
  174. }
  175. }
  176. #endregion
  177. retStaffs.Add(staff);
  178. }
  179. }
  180. }
  181. }
  182. return retStaffs;
  183. }
  184. }
  185. catch (Exception ex)
  186. {
  187. throw;
  188. }
  189. }
  190. private Hashtable AuditUsers()
  191. {
  192. Hashtable retStaffs = new Hashtable();
  193. retStaffs.Add("刘桂兰", new List<string>() { "程利", "周心志", "钟子敏", "陈舒敏" });
  194. retStaffs.Add("张庆玲", new List<string>() { "贾凤涛", "钟子敏", "陈舒敏" });
  195. retStaffs.Add("石惠", new List<string>() { "贾凤涛", "钟子敏", "陈舒敏" });
  196. retStaffs.Add("钟锦光", new List<string>() { "李庆波", "钟子敏", "陈舒敏" });
  197. retStaffs.Add("向鑫旭", new List<string>() { "李庆波", "钟子敏", "陈舒敏" });
  198. retStaffs.Add("张晓薇", new List<string>() { "李庆波", "钟子敏", "陈舒敏" });
  199. retStaffs.Add("杨超", new List<string>() { "李庆波", "钟子敏", "陈舒敏" });
  200. retStaffs.Add("沈靖俞", new List<string>() { "李庆波", "钟子敏", "陈舒敏" });
  201. retStaffs.Add("何丽", new List<string>() { "李庆波", "钟子敏", "陈舒敏" });
  202. retStaffs.Add("管自英", new List<string>() { "王建峰", "钟子敏", "陈舒敏" });
  203. retStaffs.Add("唐双", new List<string>() { "钟子敏", "陈舒敏" });
  204. retStaffs.Add("李申", new List<string>() { "钟子敏", "陈舒敏" });
  205. retStaffs.Add("翁旋艺", new List<string>() { "钟子敏", "陈舒敏" });
  206. retStaffs.Add("何倚雯", new List<string>() { "钟子敏", "陈舒敏" });
  207. retStaffs.Add("陆跃", new List<string>() { "钟子敏", "陈舒敏" });
  208. retStaffs.Add("李姣", new List<string>() { "钟子敏", "陈舒敏" });
  209. retStaffs.Add("李建民", new List<string>() { "钟子敏", "陈舒敏" });
  210. retStaffs.Add("赵静", new List<string>() { "钟子敏", "陈舒敏" });
  211. return retStaffs;
  212. }
  213. public Staff GetUser(int Id)
  214. {
  215. return Context.Staffs.FirstOrDefault(p => p.Id == Id);
  216. }
  217. public Staff GetByName(string Name)
  218. {
  219. return Context.Staffs.FirstOrDefault(p => p.Name == Name);
  220. }
  221. public ListApiResponse<Staff> Query(int pageIndex, int pageSize)
  222. {
  223. ListApiResponse<Staff> ret = new ListApiResponse<Staff>();
  224. ret.TotalCount = Context.Staffs.Count<Staff>();
  225. List<Staff> retList = Context.Staffs.Skip<Staff>((pageIndex - 1) * pageSize).Take(pageSize).ToList<Staff>();
  226. ret.Results = retList;
  227. return ret;
  228. }
  229. public ListApiResponse<Staff> QueryInDepartment(int deptId, int pageIndex, int pageSize)
  230. {
  231. ListApiResponse<Staff> ret = new ListApiResponse<Staff>();
  232. var dept = Context.Departments.FirstOrDefault<Department>(d => d.Id == deptId);
  233. string strancestors = $"{dept.ancestors},{deptId}";
  234. if (dept != null)
  235. {
  236. var retList = Context.Staffs.Where<Staff>(s =>
  237. s.Positions.Where<DepartmentPosition>(dp => dp.department.ancestors.StartsWith(strancestors) || dp.department.Id == deptId).Count() > 0);
  238. ret.TotalCount = retList.Count();
  239. ret.Results = retList.Skip<Staff>((pageIndex - 1) * pageSize).Take(pageSize).ToList();
  240. }
  241. else
  242. {
  243. ret.Results = new List<Staff>();
  244. }
  245. return ret;
  246. }
  247. public ApiSaveResponse UpdateUser(SaveUserObject saveUser)
  248. {
  249. ApiSaveResponse ret = new ApiSaveResponse();
  250. Staff editObject = null;
  251. if (saveUser.staff.Id == 0)
  252. {
  253. editObject = Context.Staffs.FirstOrDefault(p => p.Name == saveUser.staff.Name);
  254. }
  255. else
  256. {
  257. editObject = Context.Staffs.FirstOrDefault(p => p.Id == saveUser.staff.Id);
  258. }
  259. if (editObject == null)
  260. {
  261. ret.Success = false;
  262. ret.ErrorMessage = "用户不存在";
  263. }
  264. else
  265. {
  266. using (var t = Context.Database.BeginTransaction())
  267. {
  268. try
  269. {
  270. if (saveUser.staff.Account != null && editObject.Account != saveUser.staff.Account)
  271. editObject.Account = saveUser.staff.Account;
  272. if (saveUser.staff.Department != null && editObject.Department != saveUser.staff.Department)
  273. editObject.Department = saveUser.staff.Department;
  274. if (saveUser.staff.EntyDate != null && editObject.EntyDate != saveUser.staff.EntyDate)
  275. editObject.EntyDate = saveUser.staff.EntyDate;
  276. editObject.IsCalPerformsnce = saveUser.staff.IsCalPerformsnce;
  277. editObject.IsOnJob = saveUser.staff.IsOnJob;
  278. editObject.IsGradeAssess = saveUser.staff.IsGradeAssess;
  279. if (saveUser.staff.Mail != null && editObject.Mail != saveUser.staff.Mail)
  280. editObject.Mail = saveUser.staff.Mail;
  281. if (saveUser.staff.Memo != null && editObject.Memo != saveUser.staff.Memo)
  282. editObject.Memo = saveUser.staff.Memo;
  283. if (saveUser.staff.Mobile != null && editObject.Mobile != saveUser.staff.Mobile)
  284. editObject.Mobile = saveUser.staff.Mobile;
  285. if (saveUser.staff.Name != null && editObject.Name != saveUser.staff.Name)
  286. editObject.Name = saveUser.staff.Name;
  287. if (saveUser.staff.Password != null && saveUser.staff.Id > 0)
  288. editObject.Password = utility.MD5Utility.GetMD5(saveUser.staff.Password);
  289. if (saveUser.staff.Sex != null && editObject.Sex != saveUser.staff.Sex)
  290. editObject.Sex = saveUser.staff.Sex;
  291. if (saveUser.staff.StaffGradeId != null && editObject.StaffGradeId != saveUser.staff.StaffGradeId)
  292. editObject.StaffGradeId = saveUser.staff.StaffGradeId;
  293. if (saveUser.staff.Status != null && editObject.Status != saveUser.staff.Status)
  294. editObject.Status = saveUser.staff.Status;
  295. if (saveUser.staff.Tel != null && editObject.Tel != saveUser.staff.Tel)
  296. editObject.Tel = saveUser.staff.Tel;
  297. if (saveUser.staff.WorkPlace != null && editObject.WorkPlace != saveUser.staff.WorkPlace)
  298. editObject.WorkPlace = saveUser.staff.WorkPlace;
  299. if (saveUser.staff.RegularDate != null && editObject.RegularDate != saveUser.staff.RegularDate)
  300. editObject.RegularDate = saveUser.staff.RegularDate;
  301. Context.SaveChanges();
  302. var temDP = Context.DepartmentPositions
  303. .Where<DepartmentPosition>(d =>
  304. d.departmentId == saveUser.deptId &&
  305. d.StaffId == editObject.Id).ToList<DepartmentPosition>();
  306. foreach (var depPosition in temDP)
  307. {
  308. Context.DepartmentPositions.Remove(depPosition);
  309. }
  310. Context.SaveChanges();
  311. DepartmentPosition dp = new DepartmentPosition();
  312. dp.departmentId = saveUser.deptId;
  313. dp.PositionId = saveUser.positionId;
  314. dp.StaffId = editObject.Id;
  315. Context.DepartmentPositions.Add(dp);
  316. Context.SaveChanges();
  317. t.Commit();
  318. }
  319. catch (Exception ex)
  320. {
  321. ret.Success = false;
  322. ret.ErrorMessage = ex.Message;
  323. }
  324. }
  325. }
  326. return ret;
  327. }
  328. public ApiSaveResponse SaveUser(SaveUserObject saveUser)
  329. {
  330. ApiSaveResponse ret = new ApiSaveResponse();
  331. using (var t = Context.Database.BeginTransaction())
  332. {
  333. try
  334. {
  335. Staff staff = saveUser.staff;
  336. if (staff.Id == 0)
  337. {
  338. Staff temStaff = Context.Staffs.Where<Staff>(x => x.Name == staff.Name).FirstOrDefault();
  339. if (temStaff != null)
  340. {
  341. ret.Success = false;
  342. ret.ErrorMessage = $"用户【{staff.Name}】已存在!";
  343. }
  344. else
  345. {
  346. if (string.IsNullOrEmpty(staff.Account) || string.IsNullOrEmpty(staff.Password))
  347. {
  348. ret.Success = false;
  349. ret.ErrorMessage = $"用户名或密码没有设定";
  350. return ret;
  351. }
  352. else
  353. {
  354. staff.Password = utility.MD5Utility.GetMD5(staff.Password);
  355. }
  356. Context.Staffs.Add(staff);
  357. Context.SaveChanges();
  358. DepartmentPosition dp = new DepartmentPosition();
  359. dp.departmentId = saveUser.deptId;
  360. dp.PositionId = saveUser.positionId;
  361. dp.StaffId = staff.Id;
  362. Context.DepartmentPositions.Add(dp);
  363. Context.SaveChanges();
  364. }
  365. }
  366. else
  367. {
  368. Staff editObject = Context.Staffs.Where<Staff>(x => x.Id == staff.Id).FirstOrDefault();
  369. if (editObject != null)
  370. {
  371. //editObject.Account = staff.Account;
  372. editObject.Department = staff.Department;
  373. editObject.EntyDate = staff.EntyDate;
  374. editObject.IsCalPerformsnce = staff.IsCalPerformsnce;
  375. editObject.IsOnJob = staff.IsOnJob;
  376. editObject.IsGradeAssess = staff.IsGradeAssess;
  377. editObject.Mail = staff.Mail;
  378. editObject.Memo = staff.Memo;
  379. editObject.Mobile = staff.Mobile;
  380. editObject.Name = staff.Name;
  381. //editObject.Password = utility.MD5Utility.GetMD5(staff.Password);
  382. editObject.Sex = staff.Sex;
  383. editObject.StaffGradeId = staff.StaffGradeId;
  384. editObject.Status = staff.Status;
  385. editObject.Tel = staff.Tel;
  386. editObject.WorkPlace = staff.WorkPlace;
  387. editObject.RegularDate = staff.RegularDate;
  388. Context.SaveChanges();
  389. if (saveUser.deptId > 0)
  390. {
  391. var temDP = Context.DepartmentPositions
  392. .Where<DepartmentPosition>(d =>
  393. d.departmentId == saveUser.deptId &&
  394. d.StaffId == editObject.Id).ToList<DepartmentPosition>();
  395. foreach (var depPosition in temDP)
  396. {
  397. Context.DepartmentPositions.Remove(depPosition);
  398. }
  399. Context.SaveChanges();
  400. DepartmentPosition dp = new DepartmentPosition();
  401. dp.departmentId = saveUser.deptId;
  402. dp.PositionId = saveUser.positionId;
  403. dp.StaffId = editObject.Id;
  404. Context.DepartmentPositions.Add(dp);
  405. Context.SaveChanges();
  406. }
  407. }
  408. else
  409. {
  410. ret.Success = false;
  411. ret.ErrorMessage = $"编号为【{staff.Id}】的用户不存在!";
  412. }
  413. }
  414. t.Commit();
  415. ret.Success = true;
  416. }
  417. catch (Exception ex)
  418. {
  419. t.Rollback();
  420. ret.Success = false;
  421. ret.ErrorMessage = ex.Message;
  422. }
  423. }
  424. return ret;
  425. }
  426. [HttpPost]
  427. public ApiSaveResponse Save(Staff staff)
  428. {
  429. ApiSaveResponse ret = new ApiSaveResponse();
  430. try
  431. {
  432. if (staff.Id == 0)
  433. {
  434. Staff temStaff = Context.Staffs.Where<Staff>(x => x.Name == staff.Name).FirstOrDefault();
  435. if (temStaff != null)
  436. {
  437. if (staff.Account != null && staff.Account != temStaff.Account)
  438. temStaff.Account = staff.Account;
  439. if (staff.Department != null && staff.Department != temStaff.Department)
  440. temStaff.Department = staff.Department;
  441. if (staff.EntyDate != null && staff.EntyDate != temStaff.EntyDate)
  442. temStaff.EntyDate = staff.EntyDate;
  443. if (staff.IsCalPerformsnce != temStaff.IsCalPerformsnce)
  444. temStaff.IsCalPerformsnce = staff.IsCalPerformsnce;
  445. if (staff.IsGradeAssess != temStaff.IsGradeAssess)
  446. temStaff.IsGradeAssess = staff.IsGradeAssess;
  447. if (staff.IsOnJob != temStaff.IsOnJob)
  448. temStaff.IsOnJob = staff.IsOnJob;
  449. if (staff.Mail != null && staff.Mail != temStaff.Mail)
  450. {
  451. temStaff.Mail = staff.Mail;
  452. }
  453. if (staff.Memo != null && staff.Memo != temStaff.Memo)
  454. temStaff.Memo = staff.Memo;
  455. if (staff.Memo != null && staff.Memo != temStaff.Memo)
  456. temStaff.Mobile = staff.Mobile;
  457. if (staff.Sex != null && staff.Sex != temStaff.Sex)
  458. temStaff.Sex = staff.Sex;
  459. if (staff.StaffGradeId != null && staff.StaffGradeId != temStaff.StaffGradeId)
  460. temStaff.StaffGradeId = staff.StaffGradeId;
  461. if (staff.Status != null && staff.Status != temStaff.Status)
  462. temStaff.Status = staff.Status;
  463. if (staff.Tel != null && staff.Tel != temStaff.Tel)
  464. temStaff.Tel = staff.Tel;
  465. if (staff.WorkPlace != null && staff.WorkPlace != temStaff.WorkPlace)
  466. temStaff.WorkPlace = staff.WorkPlace;
  467. if (staff.RegularDate != null && staff.RegularDate != temStaff.RegularDate)
  468. {
  469. temStaff.RegularDate = staff.RegularDate;
  470. }
  471. Context.SaveChanges();
  472. //ret.Success = false;
  473. //ret.ErrorMessage = $"用户【{staff.Name}】已存在!";
  474. }
  475. else
  476. {
  477. Context.Staffs.Add(staff);
  478. }
  479. }
  480. else
  481. {
  482. Staff editObject = Context.Staffs.Where<Staff>(x => x.Id == staff.Id).FirstOrDefault();
  483. if (editObject != null)
  484. {
  485. if (staff.Account != null && staff.Account != editObject.Account)
  486. editObject.Account = staff.Account;
  487. if (staff.Department != null && staff.Department != editObject.Department)
  488. editObject.Department = staff.Department;
  489. if (staff.EntyDate != null && staff.EntyDate != editObject.EntyDate)
  490. editObject.EntyDate = staff.EntyDate;
  491. if (staff.IsCalPerformsnce != editObject.IsCalPerformsnce)
  492. editObject.IsCalPerformsnce = staff.IsCalPerformsnce;
  493. if (staff.IsGradeAssess != editObject.IsGradeAssess)
  494. editObject.IsGradeAssess = staff.IsGradeAssess;
  495. if (staff.IsOnJob != editObject.IsOnJob)
  496. editObject.IsOnJob = staff.IsOnJob;
  497. if (staff.Mail != null && staff.Mail != editObject.Mail)
  498. {
  499. editObject.Mail = staff.Mail;
  500. }
  501. if (staff.Memo != null && staff.Memo != editObject.Memo)
  502. editObject.Memo = staff.Memo;
  503. if (staff.Memo != null && staff.Memo != editObject.Memo)
  504. editObject.Mobile = staff.Mobile;
  505. if (staff.Sex != null && staff.Sex != editObject.Sex)
  506. editObject.Sex = staff.Sex;
  507. if (staff.StaffGradeId != null && staff.StaffGradeId != editObject.StaffGradeId)
  508. editObject.StaffGradeId = staff.StaffGradeId;
  509. if (staff.Status != null && staff.Status != editObject.Status)
  510. editObject.Status = staff.Status;
  511. if (staff.Tel != null && staff.Tel != editObject.Tel)
  512. editObject.Tel = staff.Tel;
  513. if (staff.WorkPlace != null && staff.WorkPlace != editObject.WorkPlace)
  514. editObject.WorkPlace = staff.WorkPlace;
  515. if (staff.RegularDate != null && staff.RegularDate != editObject.RegularDate)
  516. {
  517. editObject.RegularDate = staff.RegularDate;
  518. }
  519. }
  520. else
  521. {
  522. ret.Success = false;
  523. ret.ErrorMessage = $"编号为【{staff.Id}】的用户不存在!";
  524. }
  525. }
  526. Context.SaveChanges();
  527. ret.Success = true;
  528. }
  529. catch (Exception ex)
  530. {
  531. ret.Success = false;
  532. ret.ErrorMessage = ex.Message;
  533. }
  534. return ret;
  535. }
  536. }
  537. }