SystemController.cs 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738
  1. using System.Collections;
  2. namespace OASystem.API.Controllers
  3. {
  4. /// <summary>
  5. /// 系统设置
  6. /// </summary>
  7. //[Authorize]
  8. [Route("api/[controller]/[action]")]
  9. public class SystemController : ControllerBase
  10. {
  11. private readonly CompanyRepository _syscomRep;
  12. private readonly DepartmentRepository _sysDepRep;
  13. private readonly UsersRepository _userRep;
  14. private readonly IMapper _mapper;
  15. private readonly SetDataRepository _setDataRepository;
  16. private readonly SystemMenuPermissionRepository _SystemMenuPermissionRepository;
  17. private readonly CompanyRepository _CompanyRepository;
  18. private readonly PageFunctionPermissionRepository _PageFunctionPermissionRepository;
  19. private readonly SystemMenuAndFunctionRepository _SystemMenuAndFunctionRepository;
  20. private readonly JobPostAuthorityRepository _JobPostAuthorityRepository;
  21. private readonly JobPostRepository _jobRep;
  22. public SystemController( CompanyRepository syscom, DepartmentRepository sysDepRep, UsersRepository userRep,
  23. IMapper mapper, SetDataRepository setDataRepository, CompanyRepository companyRepository,
  24. SystemMenuPermissionRepository systemMenuPermissionRepository, PageFunctionPermissionRepository pageFunctionPermissionRepository,
  25. SystemMenuAndFunctionRepository systemMenuAndFunctionRepository, JobPostAuthorityRepository jobPostAuthorityRepository, JobPostRepository jobRep)
  26. {
  27. _syscomRep = syscom;
  28. _sysDepRep = sysDepRep;
  29. _userRep = userRep;
  30. _mapper = mapper;
  31. _setDataRepository = setDataRepository;
  32. _CompanyRepository = companyRepository;
  33. _SystemMenuPermissionRepository = systemMenuPermissionRepository;
  34. _PageFunctionPermissionRepository = pageFunctionPermissionRepository;
  35. _SystemMenuAndFunctionRepository = systemMenuAndFunctionRepository;
  36. _JobPostAuthorityRepository = jobPostAuthorityRepository;
  37. }
  38. #region 企业操作
  39. /// <summary>
  40. /// 查询企业数据
  41. /// </summary>
  42. /// <param name="dto"></param>
  43. /// <returns></returns>
  44. [HttpPost]
  45. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  46. public async Task<IActionResult> getCompanyList(DtoBase dto)
  47. {
  48. try
  49. {
  50. if (dto.PortType == 1)
  51. {
  52. var CompanyDataResult = _CompanyRepository.GetCompanyData();
  53. if (CompanyDataResult.Code != 0)
  54. {
  55. return Ok(JsonView(CompanyDataResult.Msg));
  56. }
  57. return Ok(JsonView(true, "查询成功!", CompanyDataResult.Data));
  58. }
  59. else if (dto.PortType == 2)
  60. {
  61. var CompanyDataResult = _CompanyRepository.GetCompanyData();
  62. if (CompanyDataResult.Code != 0)
  63. {
  64. return Ok(JsonView(CompanyDataResult.Msg));
  65. }
  66. return Ok(JsonView(true,"查询成功!", CompanyDataResult.Data));
  67. }
  68. else if (dto.PortType == 3)
  69. {
  70. return Ok(JsonView(false, "暂无数据!"));
  71. }
  72. else
  73. {
  74. return Ok(JsonView(false, "暂无数据!"));
  75. }
  76. }
  77. catch (Exception ex)
  78. {
  79. return Ok(JsonView(false, "程序错误!"));
  80. throw;
  81. }
  82. }
  83. /// <summary>
  84. /// 添加企业数据
  85. /// </summary>
  86. /// <param name="dto"></param>
  87. /// <returns></returns>
  88. [HttpPost]
  89. [ProducesResponseType(typeof(JsonView),StatusCodes.Status200OK)]
  90. public async Task<IActionResult> AddCompany(AddCompanyDto dto)
  91. {
  92. try
  93. {
  94. if (string.IsNullOrWhiteSpace(dto.CompanyName) || dto.CreateUserId == 0 || string.IsNullOrWhiteSpace(dto.CompanyCode))
  95. {
  96. return Ok(JsonView(false, "请检查信息是否输入完整!"));
  97. }
  98. else if (string.IsNullOrWhiteSpace(dto.Tel))
  99. {
  100. return Ok(JsonView(false, "请检查联系方式是否输入正确!"));
  101. }
  102. else
  103. {
  104. Sys_Company _Company = _mapper.Map<Sys_Company>(dto);
  105. int id = await _syscomRep.AddAsyncReturnId(_Company);
  106. if (id == 0)
  107. {
  108. return Ok(JsonView(false, "添加失败!"));
  109. }
  110. return Ok(JsonView(true,"添加成功", new { Id = id }));
  111. }
  112. }
  113. catch (Exception)
  114. {
  115. return Ok(JsonView(false, "程序错误!"));
  116. throw;
  117. }
  118. }
  119. /// <summary>
  120. /// 企业修改
  121. /// </summary>
  122. /// <param name="dto"></param>
  123. /// <returns></returns>
  124. [HttpPost]
  125. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  126. public async Task<IActionResult>EditCompany(EditCompanyDto dto)
  127. {
  128. try
  129. {
  130. if (string.IsNullOrWhiteSpace(dto.CompanyName) || string.IsNullOrWhiteSpace(dto.CompanyCode) || string.IsNullOrWhiteSpace(dto.Address) || dto.ParentCompanyId == 0 || dto.ContactUserId == 0)
  131. {
  132. return Ok(JsonView(false, "请检查信息是否输入完整!"));
  133. }
  134. else if (string.IsNullOrWhiteSpace(dto.Tel))
  135. {
  136. return Ok(JsonView(false, "请检查联系方式是否输入正确!"));
  137. }
  138. else
  139. {
  140. bool res = await _syscomRep.UpdateAsync(a => a.Id == dto.Id, a => new Sys_Company
  141. {
  142. CompanyName = dto.CompanyName,
  143. CompanyCode = dto.CompanyCode,
  144. Address = dto.Address,
  145. ParentCompanyId = dto.ParentCompanyId,
  146. Tel = dto.Tel,
  147. ContactUserId = dto.ContactUserId,
  148. });
  149. if (!res) { return Ok(JsonView(false, "修改失败")); }
  150. return Ok(JsonView(true,"修改成功!"));
  151. }
  152. }
  153. catch (Exception)
  154. {
  155. return Ok(JsonView(false, "程序错误!"));
  156. throw;
  157. }
  158. }
  159. /// <summary>
  160. /// 企业删除
  161. /// </summary>
  162. /// <param name="dto"></param>
  163. /// <returns></returns>
  164. [HttpPost]
  165. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  166. public async Task<IActionResult> DelCompany(DelCompanyDto dto)
  167. {
  168. try
  169. {
  170. bool res = await _syscomRep.SoftDeleteAsync<Sys_Company>(dto.Id.ToString());
  171. if (!res) { return Ok(JsonView(false, "删除失败")); }
  172. return Ok(JsonView(true, "删除成功"));
  173. }
  174. catch (Exception)
  175. {
  176. return Ok(JsonView(false, "程序错误!"));
  177. throw;
  178. }
  179. }
  180. #endregion
  181. #region 部门操作
  182. /// <summary>
  183. /// 查询部门数据
  184. /// </summary>
  185. /// <param name="dto"></param>
  186. /// <returns></returns>
  187. [HttpPost]
  188. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  189. public async Task<IActionResult> QueryDepartmentList(DepartmentDto dto)
  190. {
  191. try
  192. {
  193. if (dto.PortType==1)
  194. {
  195. var result = _sysDepRep.QueryDto<Sys_Department, DepartmentIView>(s => s.CompanyId == dto.CompanyId).ToList();
  196. if (result.Count == 0)
  197. {
  198. return Ok(JsonView(false, "暂无数据!"));
  199. }
  200. return Ok(JsonView(true, "查询成功!", result));
  201. }
  202. else if (dto.PortType==2)
  203. {
  204. var result = _sysDepRep.QueryDto<Sys_Department, DepartmentIView>(s => s.CompanyId == dto.CompanyId).ToList();
  205. if (result.Count == 0)
  206. {
  207. return Ok(JsonView(false, "暂无数据!"));
  208. }
  209. return Ok(JsonView(true,"查询成功!",result));
  210. }
  211. else if (dto.PortType == 3)
  212. {
  213. return Ok(JsonView(false, "暂无数据!"));
  214. }
  215. else
  216. {
  217. return Ok(JsonView(false, "暂无数据!"));
  218. }
  219. }
  220. catch (Exception ex)
  221. {
  222. return Ok(JsonView(false, "程序错误!"));
  223. throw;
  224. }
  225. }
  226. /// <summary>
  227. /// 部门添加
  228. /// </summary>
  229. /// <param name="dto"></param>
  230. /// <returns></returns>
  231. [HttpPost]
  232. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  233. public async Task<IActionResult> AddDepartment(AddDepartmentDto dto)
  234. {
  235. try
  236. {
  237. if (dto.CreateUserId == 0 || string.IsNullOrWhiteSpace(dto.DepName) || dto.CompanyId == 0 || string.IsNullOrWhiteSpace(dto.DepCode))
  238. {
  239. return Ok(JsonView(false, "请检查信息是否输入完整!"));
  240. }
  241. else
  242. {
  243. Sys_Department _Department = _mapper.Map<Sys_Department>(dto);
  244. int id = await _sysDepRep.AddAsyncReturnId(_Department);
  245. if (id == 0)
  246. {
  247. return Ok(JsonView(false, "添加失败!"));
  248. }
  249. return Ok(JsonView(true, "添加成功!", new { Id = id }));
  250. }
  251. }
  252. catch (Exception)
  253. {
  254. return Ok(JsonView(false, "程序错误!"));
  255. throw;
  256. }
  257. }
  258. /// <summary>
  259. /// 部门修改
  260. /// </summary>
  261. /// <param name="dto"></param>
  262. /// <returns></returns>
  263. [HttpPost]
  264. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  265. public async Task<IActionResult> EditDepartment(EditDepartmentDto dto)
  266. {
  267. try
  268. {
  269. if (dto.Id==0 || string.IsNullOrWhiteSpace(dto.DepName) || dto.CompanyId == 0 || string.IsNullOrWhiteSpace(dto.DepCode))
  270. {
  271. return Ok(JsonView(false, "请检查信息是否输入完整!"));
  272. }
  273. else
  274. {
  275. bool res = await _sysDepRep.UpdateAsync<Sys_Department>(a => a.Id == dto.Id, a => new Sys_Department
  276. {
  277. CompanyId=dto.CompanyId,
  278. DepCode=dto.DepCode,
  279. DepName=dto.DepName,
  280. ParentDepId=dto.ParentDepId,
  281. Remark=dto.Remark,
  282. });
  283. if (!res)
  284. {
  285. return Ok(JsonView(false, "修改失败!"));
  286. }
  287. return Ok(JsonView(true, "修改成功!"));
  288. }
  289. }
  290. catch (Exception)
  291. {
  292. return Ok(JsonView(false, "程序错误!"));
  293. throw;
  294. }
  295. }
  296. /// <summary>
  297. /// 部门删除
  298. /// </summary>
  299. /// <param name="dto"></param>
  300. /// <returns></returns>
  301. [HttpPost]
  302. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  303. public async Task<IActionResult> DelDepartment(DelDepartmentDto dto)
  304. {
  305. try
  306. {
  307. if (dto.Id == 0)
  308. {
  309. return Ok(JsonView(-1, "请检查信息是否输入完整!", null));
  310. }
  311. else
  312. {
  313. bool res =await _sysDepRep.SoftDeleteAsync<Sys_Department>(dto.Id.ToString());
  314. if (!res)
  315. {
  316. return Ok(JsonView(false, "删除失败!"));
  317. }
  318. return Ok(JsonView(true, "删除成功!"));
  319. }
  320. }
  321. catch (Exception)
  322. {
  323. return Ok(JsonView(false, "程序错误!"));
  324. throw;
  325. }
  326. }
  327. #endregion
  328. #region 岗位板块
  329. /// <summary>
  330. /// 岗位查询
  331. /// </summary>
  332. /// <param name="dto"></param>
  333. /// <returns></returns>
  334. [HttpPost]
  335. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  336. public async Task<IActionResult> QueryJobPost(QueryJobPostDto dto)
  337. {
  338. try
  339. {
  340. if (dto.PortType == 1)
  341. {
  342. var result = _sysDepRep.QueryDto<Sys_JobPost, JobPostView>(s => s.CompanyId == dto.CompanyId && s.DepId == dto.DepId).ToList();
  343. if (result.Count == 0)
  344. {
  345. return Ok(JsonView(false, "暂无数据!"));
  346. }
  347. return Ok(JsonView(true, "查询成功!", result));
  348. }
  349. else if (dto.PortType == 2)
  350. {
  351. var result = _jobRep.QueryDto<Sys_JobPost, JobPostView>(s => s.CompanyId == dto.CompanyId && s.DepId==dto.DepId).ToList();
  352. if (result.Count == 0)
  353. {
  354. return Ok(JsonView(false, "暂无数据!"));
  355. }
  356. return Ok(JsonView(true, "查询成功!", result));
  357. }
  358. else if (dto.PortType == 3)
  359. {
  360. return Ok(JsonView(false, "暂无数据!"));
  361. }
  362. else
  363. {
  364. return Ok(JsonView(false, "暂无数据!"));
  365. }
  366. }
  367. catch (Exception ex)
  368. {
  369. return Ok(JsonView(false, "程序错误!"));
  370. throw;
  371. }
  372. }
  373. /// <summary>
  374. /// 添加岗位
  375. /// </summary>
  376. /// <param name="dto"></param>
  377. /// <returns></returns>
  378. [HttpPost]
  379. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  380. public async Task<IActionResult> AddJobPost(AddJobPostDto dto)
  381. {
  382. try
  383. {
  384. Sys_JobPost sys_Job = _mapper.Map<Sys_JobPost>(dto);
  385. int id = await _jobRep.AddAsyncReturnId(sys_Job);
  386. if (id == 0)
  387. {
  388. return Ok(JsonView(false, "添加失败"));
  389. }
  390. return Ok(JsonView(true, "添加成功", new { Id = id }));
  391. }
  392. catch (Exception ex)
  393. {
  394. return Ok(JsonView(false, "程序错误!"));
  395. throw;
  396. }
  397. }
  398. /// <summary>
  399. /// 修改岗位
  400. /// </summary>
  401. /// <param name="dto"></param>
  402. /// <returns></returns>
  403. [HttpPost]
  404. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  405. public async Task<IActionResult> EditJobPost(EditJobPostDto dto)
  406. {
  407. try
  408. {
  409. bool res = await _jobRep.UpdateAsync<Sys_JobPost>(a=>a.Id==dto.Id,a =>new Sys_JobPost
  410. {
  411. CompanyId=dto.CompanyId,
  412. DepId=dto.DepId,
  413. JobName=dto.JobName,
  414. Remark=dto.Remark,
  415. });
  416. if (!res)
  417. {
  418. return Ok(JsonView(false, "修改失败"));
  419. }
  420. return Ok(JsonView(true, "修改成功"));
  421. }
  422. catch (Exception ex)
  423. {
  424. return Ok(JsonView(false, "程序错误!"));
  425. throw;
  426. }
  427. }
  428. /// <summary>
  429. /// 删除岗位
  430. /// </summary>
  431. /// <param name="dto"></param>
  432. /// <returns></returns>
  433. [HttpPost]
  434. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  435. public async Task<IActionResult> DelJobPost(DelJobPostDto dto)
  436. {
  437. try
  438. {
  439. bool res = await _jobRep.SoftDeleteAsync<Sys_JobPost>(dto.Id.ToString());
  440. if (!res)
  441. {
  442. return Ok(JsonView(false, "删除失败!"));
  443. }
  444. return Ok(JsonView(true, "删除成功"));
  445. }
  446. catch (Exception)
  447. {
  448. return Ok(JsonView(false, "程序错误!"));
  449. throw;
  450. }
  451. }
  452. #endregion
  453. #region 用户操作
  454. /// <summary>
  455. /// 查询所有员工(web)
  456. /// </summary>
  457. /// <param name="dto"></param>
  458. /// <returns></returns>
  459. [HttpPost]
  460. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  461. public async Task<IActionResult> GetUserList(DtoBase dto)
  462. {
  463. try
  464. {
  465. var result = _userRep.GetUserList(dto.PortType, string.Empty);
  466. if (result.Result.Code != 0)
  467. {
  468. return Ok(JsonView(false, "暂无数据!"));
  469. }
  470. return Ok(JsonView(true, "查询成功!", result.Result.Data));
  471. }
  472. catch (Exception)
  473. {
  474. return Ok(JsonView(false, "程序错误!"));
  475. throw;
  476. }
  477. }
  478. /// <summary>
  479. /// 查询用户数据
  480. /// </summary>
  481. /// <param name="dto"></param>
  482. /// <returns></returns>
  483. [HttpPost]
  484. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  485. public async Task<IActionResult> QueryUserList(UserDto dto)
  486. {
  487. try
  488. {
  489. string sqlWhere = string.Empty;
  490. if (dto.CompanyId!=0)
  491. {
  492. sqlWhere += string.Format(@" And su.CompanyId={0}", dto.CompanyId);
  493. }
  494. if (dto.DepId != 0)
  495. {
  496. sqlWhere += string.Format(@" And su.DepId={0}", dto.DepId);
  497. }
  498. if (!string.IsNullOrEmpty(sqlWhere.Trim()))
  499. {
  500. Regex r = new Regex("And");
  501. sqlWhere = r.Replace(sqlWhere, "Where", 1);
  502. }
  503. var result=_userRep.GetUserList(dto.PortType,sqlWhere);
  504. if (result.Result.Code!=0)
  505. {
  506. return Ok(JsonView(false, "暂无数据!"));
  507. }
  508. return Ok(JsonView(true,"查询成功!",result.Result.Data));
  509. }
  510. catch (Exception)
  511. {
  512. return Ok(JsonView(false, "程序错误!"));
  513. throw;
  514. }
  515. }
  516. /// <summary>
  517. /// 修改用户信息(上级修改/分配 公司、部门、岗位、工号等信息)
  518. /// </summary>
  519. /// <param name="dto"></param>
  520. /// <returns></returns>
  521. [HttpPost]
  522. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  523. public async Task<IActionResult> EditUser(EditUserDto dto)
  524. {
  525. try
  526. {
  527. bool res = await _userRep.UpdateAsync<Sys_Users>(a => a.Id == dto.Id, a => new Sys_Users
  528. {
  529. Number = dto.Number,
  530. CompanyId = dto.CompanyId,
  531. DepId = dto.DepId,
  532. JobPostId = dto.JobPostId,
  533. Ext = dto.Ext,
  534. UsePeriod = dto.UsePeriod,
  535. HrAudit = dto.HrAudit
  536. });
  537. if (!res)
  538. {
  539. return Ok(JsonView(false, "修改失败!"));
  540. }
  541. return Ok(JsonView(true, "修改成功!"));
  542. }
  543. catch (Exception)
  544. {
  545. return Ok(JsonView(false, "程序错误!"));
  546. throw;
  547. }
  548. }
  549. /// <summary>
  550. /// 修改用户信息(登录用户修改个人信息)
  551. /// </summary>
  552. /// <param name="dto"></param>
  553. /// <returns></returns>
  554. [HttpPost]
  555. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  556. public async Task<IActionResult> EditMyUser(EditMyUserDto dto)
  557. {
  558. try
  559. {
  560. if (string.IsNullOrWhiteSpace(dto.CnName) || string.IsNullOrWhiteSpace(dto.Address) || string.IsNullOrWhiteSpace(dto.IDCard) || dto.Sex != 0 && dto.Sex != 1 ||
  561. string.IsNullOrWhiteSpace(dto.MaritalStatus) || string.IsNullOrWhiteSpace(dto.HomeAddress)|| dto.Birthday>=DateTime.Now.AddYears(-1))
  562. {
  563. return Ok(JsonView(false, "请完善你的个人信息!"));
  564. }
  565. else if (string.IsNullOrWhiteSpace(dto.GraduateInstitutions) || string.IsNullOrWhiteSpace(dto.Professional) || dto.Education == 0 || string.IsNullOrWhiteSpace(dto.GraduateInstitutions))
  566. {
  567. return Ok(JsonView(false, "请完善你的学历信息!"));
  568. }
  569. else if (string.IsNullOrWhiteSpace(dto.Phone) || string.IsNullOrWhiteSpace(dto.UrgentPhone) || string.IsNullOrWhiteSpace(dto.Email))
  570. {
  571. return Ok(JsonView(false, "请检查联系方式、紧急联系人及邮箱输写是否正确!"));
  572. }
  573. else
  574. {
  575. bool res = await _userRep.UpdateAsync<Sys_Users>(a => a.Id == dto.Id, a => new Sys_Users
  576. {
  577. CnName = dto.CnName,
  578. EnName = dto.EnName,
  579. Sex = dto.Sex,
  580. Phone = dto.Phone,
  581. UrgentPhone = dto.UrgentPhone,
  582. Email = dto.Email,
  583. Address = dto.Address,
  584. Edate = dto.Edate,
  585. Birthday = dto.Birthday,
  586. IDCard = dto.IDCard,
  587. GraduateInstitutions = dto.GraduateInstitutions,
  588. Professional = dto.Professional,
  589. Education = dto.Education,
  590. TheOrAdultEducation = dto.TheOrAdultEducation,
  591. MaritalStatus = dto.MaritalStatus,
  592. HomeAddress = dto.HomeAddress,
  593. WorkExperience = dto.WorkExperience,
  594. Certificate = dto.Certificate
  595. });
  596. if (!res)
  597. {
  598. return Ok(JsonView(false, "修改失败!"));
  599. }
  600. return Ok(JsonView(true, "修改成功!"));
  601. }
  602. }
  603. catch (Exception)
  604. {
  605. return Ok(JsonView(false, "程序错误!"));
  606. throw;
  607. }
  608. }
  609. #endregion
  610. #region 权限模块
  611. /// <summary>
  612. /// 权限数据页面初始化
  613. /// </summary>
  614. /// <param name="dto"></param>
  615. /// <returns></returns>
  616. //[Authorize]
  617. [HttpPost]
  618. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  619. public async Task<IActionResult> GetAuth(AuthDto dto)
  620. {
  621. Result result = new Result();
  622. //模块数据
  623. var setDataResult = await _setDataRepository.GetSySDefultModule(_setDataRepository);
  624. if (setDataResult.Code != 0)
  625. {
  626. return Ok(JsonView(setDataResult.Msg));
  627. }
  628. //操作方式
  629. var PageOperation = _PageFunctionPermissionRepository.QueryDto<Sys_PageFunctionPermission, Sys_PageFunctionPermission>().ToList();
  630. //获取所有关联页面
  631. var Sys_SystemMenuAndFunction = _SystemMenuAndFunctionRepository.QueryDto<Sys_SystemMenuAndFunction, SystemMenuAndFunctionView>().ToList();
  632. //页面数据
  633. var SystemMenuPermissionData = _SystemMenuPermissionRepository.QueryDto<Sys_SystemMenuPermission, SystemMenuPermissionView>(x=>x.Mid == dto.moduleId).ToList();
  634. if (SystemMenuPermissionData == null || SystemMenuPermissionData.Count() == 0)
  635. {
  636. return Ok(JsonView("暂无数据"));
  637. }
  638. ArrayList viewData = new ArrayList();
  639. //组合页面数据
  640. foreach (var item in SystemMenuPermissionData)
  641. {
  642. ArrayList ids = new ArrayList();
  643. foreach (var viewop in PageOperation)
  644. {
  645. var op = Sys_SystemMenuAndFunction.FirstOrDefault(x => x.SmId == item.Id && x.FId == viewop.Id);
  646. if (op != null)
  647. {
  648. ids.Add(viewop.Id);
  649. }
  650. }
  651. viewData.Add(new
  652. {
  653. Id = item.Id,
  654. Mid = item.Mid,
  655. Name = item.Name,
  656. SystemMenuCode = item.SystemMenuCode,
  657. opList = ids
  658. });
  659. }
  660. //公司数据
  661. var CompanyDataResult = _CompanyRepository.GetCompanyData();
  662. if (CompanyDataResult.Code != 0)
  663. {
  664. return Ok(JsonView(CompanyDataResult.Msg));
  665. }
  666. result.Code = 0;
  667. result.Msg = "成功!";
  668. var Dyresult = new
  669. {
  670. setDataResult = setDataResult.Data,
  671. CompanyDataResult = CompanyDataResult.Data,
  672. SystemMenuPermissionData = viewData,
  673. PageOperation = PageOperation,
  674. };
  675. return Ok(JsonView(200, "成功!", Dyresult));
  676. }
  677. [HttpPost]
  678. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  679. public IActionResult QueryJobAuto(int jobid)
  680. {
  681. var DBdata = _JobPostAuthorityRepository.QueryDto<Sys_JobPostAuthority, JobPostAuthorityView>(x=>x.JpId == jobid).ToList();
  682. return Ok(JsonView(200, "成功!", DBdata));
  683. }
  684. #endregion
  685. }
  686. }