SystemController.cs 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599
  1. 
  2. using OASystem.Infrastructure.Repositories.System;
  3. using System.ComponentModel.Design;
  4. namespace OASystem.API.Controllers
  5. {
  6. /// <summary>
  7. /// 系统设置
  8. /// </summary>
  9. //[Authorize]
  10. [Route("api/[controller]/[action]")]
  11. public class SystemController : ControllerBase
  12. {
  13. private readonly CompanyRepository _syscomRep;
  14. private readonly DepartmentRepository _sysDepRep;
  15. private readonly UsersRepository _userRep;
  16. private readonly IMapper _mapper;
  17. private readonly SetDataRepository _setDataRepository;
  18. private readonly SystemMenuPermissionRepository _SystemMenuPermissionRepository;
  19. private readonly CompanyRepository _CompanyRepository;
  20. private readonly JobPostRepository _jobRep;
  21. public SystemController( CompanyRepository syscom,DepartmentRepository sysDepRep, UsersRepository userRep,
  22. IMapper mapper, SetDataRepository setDataRepository, CompanyRepository companyRepository,
  23. SystemMenuPermissionRepository systemMenuPermissionRepository, JobPostRepository jobRep)
  24. {
  25. _syscomRep = syscom;
  26. _sysDepRep = sysDepRep;
  27. _userRep = userRep;
  28. _mapper = mapper;
  29. _setDataRepository = setDataRepository;
  30. _CompanyRepository = companyRepository;
  31. _SystemMenuPermissionRepository = systemMenuPermissionRepository;
  32. _jobRep = jobRep;
  33. }
  34. #region 企业操作
  35. /// <summary>
  36. /// 查询企业数据
  37. /// </summary>
  38. /// <param name="dto"></param>
  39. /// <returns></returns>
  40. [HttpPost]
  41. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  42. public async Task<IActionResult> getCompanyList(DtoBase dto)
  43. {
  44. try
  45. {
  46. if (dto.PortType == 1)
  47. {
  48. var CompanyDataResult = _CompanyRepository.GetCompanyData();
  49. if (CompanyDataResult.Code != 0)
  50. {
  51. return Ok(JsonView(CompanyDataResult.Msg));
  52. }
  53. return Ok(JsonView(true, "查询成功!", CompanyDataResult.Data));
  54. }
  55. else if (dto.PortType == 2)
  56. {
  57. var CompanyDataResult = _CompanyRepository.GetCompanyData();
  58. if (CompanyDataResult.Code != 0)
  59. {
  60. return Ok(JsonView(CompanyDataResult.Msg));
  61. }
  62. return Ok(JsonView(true,"查询成功!", CompanyDataResult.Data));
  63. }
  64. else if (dto.PortType == 3)
  65. {
  66. return Ok(JsonView(false, "暂无数据!"));
  67. }
  68. else
  69. {
  70. return Ok(JsonView(false, "暂无数据!"));
  71. }
  72. }
  73. catch (Exception ex)
  74. {
  75. return Ok(JsonView(false, "程序错误!"));
  76. throw;
  77. }
  78. }
  79. /// <summary>
  80. /// 添加企业数据
  81. /// </summary>
  82. /// <param name="dto"></param>
  83. /// <returns></returns>
  84. [HttpPost]
  85. [ProducesResponseType(typeof(JsonView),StatusCodes.Status200OK)]
  86. public async Task<IActionResult> AddCompany(AddCompanyDto dto)
  87. {
  88. try
  89. {
  90. if (string.IsNullOrWhiteSpace(dto.CompanyName) || dto.CreateUserId == 0 || string.IsNullOrWhiteSpace(dto.CompanyCode))
  91. {
  92. return Ok(JsonView(false, "请检查信息是否输入完整!"));
  93. }
  94. else if (string.IsNullOrWhiteSpace(dto.Tel))
  95. {
  96. return Ok(JsonView(false, "请检查联系方式是否输入正确!"));
  97. }
  98. else
  99. {
  100. Sys_Company _Company = _mapper.Map<Sys_Company>(dto);
  101. int id = await _syscomRep.AddAsyncReturnId(_Company);
  102. if (id == 0)
  103. {
  104. return Ok(JsonView(false, "添加失败!"));
  105. }
  106. return Ok(JsonView(true,"添加成功", new { Id = id }));
  107. }
  108. }
  109. catch (Exception)
  110. {
  111. return Ok(JsonView(false, "程序错误!"));
  112. throw;
  113. }
  114. }
  115. /// <summary>
  116. /// 企业修改
  117. /// </summary>
  118. /// <param name="dto"></param>
  119. /// <returns></returns>
  120. [HttpPost]
  121. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  122. public async Task<IActionResult>EditCompany(EditCompanyDto dto)
  123. {
  124. try
  125. {
  126. if (string.IsNullOrWhiteSpace(dto.CompanyName) || string.IsNullOrWhiteSpace(dto.CompanyCode) || string.IsNullOrWhiteSpace(dto.Address) || dto.ParentCompanyId == 0 || dto.ContactUserId == 0)
  127. {
  128. return Ok(JsonView(false, "请检查信息是否输入完整!"));
  129. }
  130. else if (string.IsNullOrWhiteSpace(dto.Tel))
  131. {
  132. return Ok(JsonView(false, "请检查联系方式是否输入正确!"));
  133. }
  134. else
  135. {
  136. bool res = await _syscomRep.UpdateAsync(a => a.Id == dto.Id, a => new Sys_Company
  137. {
  138. CompanyName = dto.CompanyName,
  139. CompanyCode = dto.CompanyCode,
  140. Address = dto.Address,
  141. ParentCompanyId = dto.ParentCompanyId,
  142. Tel = dto.Tel,
  143. ContactUserId = dto.ContactUserId,
  144. });
  145. if (!res) { return Ok(JsonView(false, "修改失败")); }
  146. return Ok(JsonView(true,"修改成功!"));
  147. }
  148. }
  149. catch (Exception)
  150. {
  151. return Ok(JsonView(false, "程序错误!"));
  152. throw;
  153. }
  154. }
  155. /// <summary>
  156. /// 企业删除
  157. /// </summary>
  158. /// <param name="dto"></param>
  159. /// <returns></returns>
  160. [HttpPost]
  161. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  162. public async Task<IActionResult> DelCompany(DelCompanyDto dto)
  163. {
  164. try
  165. {
  166. bool res = await _syscomRep.SoftDeleteAsync<Sys_Company>(dto.Id.ToString());
  167. if (!res) { return Ok(JsonView(false, "删除失败")); }
  168. return Ok(JsonView(true, "删除成功"));
  169. }
  170. catch (Exception)
  171. {
  172. return Ok(JsonView(false, "程序错误!"));
  173. throw;
  174. }
  175. }
  176. #endregion
  177. #region 部门操作
  178. /// <summary>
  179. /// 查询部门数据
  180. /// </summary>
  181. /// <param name="dto"></param>
  182. /// <returns></returns>
  183. [HttpPost]
  184. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  185. public async Task<IActionResult> QueryDepartmentList(DepartmentDto dto)
  186. {
  187. try
  188. {
  189. if (dto.PortType==1)
  190. {
  191. return Ok(JsonView(false, "暂无数据!"));
  192. }
  193. else if (dto.PortType==2)
  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 == 3)
  203. {
  204. return Ok(JsonView(false, "暂无数据!"));
  205. }
  206. else
  207. {
  208. return Ok(JsonView(false, "暂无数据!"));
  209. }
  210. }
  211. catch (Exception ex)
  212. {
  213. return Ok(JsonView(false, "程序错误!"));
  214. throw;
  215. }
  216. }
  217. /// <summary>
  218. /// 部门添加
  219. /// </summary>
  220. /// <param name="dto"></param>
  221. /// <returns></returns>
  222. [HttpPost]
  223. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  224. public async Task<IActionResult> AddDepartment(AddDepartmentDto dto)
  225. {
  226. try
  227. {
  228. if (dto.CreateUserId == 0 || string.IsNullOrWhiteSpace(dto.DepName) || dto.CompanyId == 0 || string.IsNullOrWhiteSpace(dto.DepCode))
  229. {
  230. return Ok(JsonView(false, "请检查信息是否输入完整!"));
  231. }
  232. else
  233. {
  234. Sys_Department _Department = _mapper.Map<Sys_Department>(dto);
  235. int id = await _sysDepRep.AddAsyncReturnId(_Department);
  236. if (id == 0)
  237. {
  238. return Ok(JsonView(false, "添加失败!"));
  239. }
  240. return Ok(JsonView(true, "添加成功!", new { Id = id }));
  241. }
  242. }
  243. catch (Exception)
  244. {
  245. return Ok(JsonView(false, "程序错误!"));
  246. throw;
  247. }
  248. }
  249. /// <summary>
  250. /// 部门修改
  251. /// </summary>
  252. /// <param name="dto"></param>
  253. /// <returns></returns>
  254. [HttpPost]
  255. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  256. public async Task<IActionResult> EditDepartment(EditDepartmentDto dto)
  257. {
  258. try
  259. {
  260. if (dto.Id==0 || string.IsNullOrWhiteSpace(dto.DepName) || dto.CompanyId == 0 || string.IsNullOrWhiteSpace(dto.DepCode))
  261. {
  262. return Ok(JsonView(false, "请检查信息是否输入完整!"));
  263. }
  264. else
  265. {
  266. bool res = await _sysDepRep.UpdateAsync<Sys_Department>(a => a.Id == dto.Id, a => new Sys_Department
  267. {
  268. CompanyId=dto.CompanyId,
  269. DepCode=dto.DepCode,
  270. DepName=dto.DepName,
  271. ParentDepId=dto.ParentDepId,
  272. Remark=dto.Remark,
  273. });
  274. if (!res)
  275. {
  276. return Ok(JsonView(false, "修改失败!"));
  277. }
  278. return Ok(JsonView(true, "修改成功!"));
  279. }
  280. }
  281. catch (Exception)
  282. {
  283. return Ok(JsonView(false, "程序错误!"));
  284. throw;
  285. }
  286. }
  287. /// <summary>
  288. /// 部门删除
  289. /// </summary>
  290. /// <param name="dto"></param>
  291. /// <returns></returns>
  292. [HttpPost]
  293. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  294. public async Task<IActionResult> DelDepartment(DelDepartmentDto dto)
  295. {
  296. try
  297. {
  298. if (dto.Id == 0)
  299. {
  300. return Ok(JsonView(-1, "请检查信息是否输入完整!", null));
  301. }
  302. else
  303. {
  304. bool res =await _sysDepRep.SoftDeleteAsync<Sys_Department>(dto.Id.ToString());
  305. if (!res)
  306. {
  307. return Ok(JsonView(false, "删除失败!"));
  308. }
  309. return Ok(JsonView(true, "删除成功!"));
  310. }
  311. }
  312. catch (Exception)
  313. {
  314. return Ok(JsonView(false, "程序错误!"));
  315. throw;
  316. }
  317. }
  318. #endregion
  319. #region 岗位板块
  320. /// <summary>
  321. /// 岗位查询
  322. /// </summary>
  323. /// <param name="dto"></param>
  324. /// <returns></returns>
  325. [HttpPost]
  326. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  327. public async Task<IActionResult> QueryJobPost(QueryJobPostDto dto)
  328. {
  329. try
  330. {
  331. if (dto.PortType == 1)
  332. {
  333. return Ok(JsonView(false, "暂无数据!"));
  334. }
  335. else if (dto.PortType == 2)
  336. {
  337. var result = _jobRep.QueryDto<Sys_JobPost, JobPostView>(s => s.CompanyId == dto.CompanyId && s.DepId==dto.DepId).ToList();
  338. if (result.Count == 0)
  339. {
  340. return Ok(JsonView(false, "暂无数据!"));
  341. }
  342. return Ok(JsonView(true, "查询成功!", result));
  343. }
  344. else if (dto.PortType == 3)
  345. {
  346. return Ok(JsonView(false, "暂无数据!"));
  347. }
  348. else
  349. {
  350. return Ok(JsonView(false, "暂无数据!"));
  351. }
  352. }
  353. catch (Exception ex)
  354. {
  355. return Ok(JsonView(false, "程序错误!"));
  356. throw;
  357. }
  358. }
  359. /// <summary>
  360. /// 添加岗位
  361. /// </summary>
  362. /// <param name="dto"></param>
  363. /// <returns></returns>
  364. [HttpPost]
  365. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  366. public async Task<IActionResult> AddJobPost(AddJobPostDto dto)
  367. {
  368. try
  369. {
  370. Sys_JobPost sys_Job = _mapper.Map<Sys_JobPost>(dto);
  371. int id = await _jobRep.AddAsyncReturnId(sys_Job);
  372. if (id == 0)
  373. {
  374. return Ok(JsonView(false, "添加失败"));
  375. }
  376. return Ok(JsonView(true, "添加成功", new { Id = id }));
  377. }
  378. catch (Exception ex)
  379. {
  380. return Ok(JsonView(false, "程序错误!"));
  381. throw;
  382. }
  383. }
  384. /// <summary>
  385. /// 修改岗位
  386. /// </summary>
  387. /// <param name="dto"></param>
  388. /// <returns></returns>
  389. [HttpPost]
  390. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  391. public async Task<IActionResult> EditJobPost(EditJobPostDto dto)
  392. {
  393. try
  394. {
  395. bool res = await _jobRep.UpdateAsync<Sys_JobPost>(a=>a.Id==dto.Id,a =>new Sys_JobPost
  396. {
  397. CompanyId=dto.CompanyId,
  398. DepId=dto.DepId,
  399. JobName=dto.JobName,
  400. Remark=dto.Remark,
  401. });
  402. if (!res)
  403. {
  404. return Ok(JsonView(false, "修改失败"));
  405. }
  406. return Ok(JsonView(true, "修改成功"));
  407. }
  408. catch (Exception ex)
  409. {
  410. return Ok(JsonView(false, "程序错误!"));
  411. throw;
  412. }
  413. }
  414. public async Task<IActionResult> DelJobPost(DelJobPostDto dto)
  415. {
  416. try
  417. {
  418. bool res = await _jobRep.SoftDeleteAsync<Sys_JobPost>(dto.Id.ToString());
  419. if (!res)
  420. {
  421. return Ok(JsonView(false, "删除失败!"));
  422. }
  423. return Ok(JsonView(true, "删除成功"));
  424. }
  425. catch (Exception)
  426. {
  427. return Ok(JsonView(false, "程序错误!"));
  428. throw;
  429. }
  430. }
  431. #endregion
  432. #region 用户操作
  433. /// <summary>
  434. /// 查询所有员工(web)
  435. /// </summary>
  436. /// <param name="dto"></param>
  437. /// <returns></returns>
  438. [HttpPost]
  439. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  440. public async Task<IActionResult> GetUserList(DtoBase dto)
  441. {
  442. try
  443. {
  444. var result = _userRep.GetUserList(dto.PortType, string.Empty);
  445. if (result.Result.Code != 0)
  446. {
  447. return Ok(JsonView(false, "暂无数据!"));
  448. }
  449. return Ok(JsonView(true, "查询成功!", result.Result.Data));
  450. }
  451. catch (Exception)
  452. {
  453. return Ok(JsonView(false, "程序错误!"));
  454. throw;
  455. }
  456. }
  457. /// <summary>
  458. /// 查询用户数据
  459. /// </summary>
  460. /// <param name="dto"></param>
  461. /// <returns></returns>
  462. [HttpPost]
  463. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  464. public async Task<IActionResult> QueryUserList(UserDto dto)
  465. {
  466. try
  467. {
  468. string sqlWhere = string.Empty;
  469. if (dto.CompanyId!=0)
  470. {
  471. sqlWhere += string.Format(@" And su.CompanyId={0}", dto.CompanyId);
  472. }
  473. if (dto.DepId != 0)
  474. {
  475. sqlWhere += string.Format(@" And su.DepId={0}", dto.DepId);
  476. }
  477. if (!string.IsNullOrEmpty(sqlWhere.Trim()))
  478. {
  479. Regex r = new Regex("And");
  480. sqlWhere = r.Replace(sqlWhere, "Where", 1);
  481. }
  482. var result=_userRep.GetUserList(dto.PortType,sqlWhere);
  483. if (result.Result.Code!=0)
  484. {
  485. return Ok(JsonView(false, "暂无数据!"));
  486. }
  487. return Ok(JsonView(true,"查询成功!",result.Result.Data));
  488. }
  489. catch (Exception)
  490. {
  491. return Ok(JsonView(false, "程序错误!"));
  492. throw;
  493. }
  494. }
  495. [HttpPost]
  496. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  497. public async Task<IActionResult> AddUser(AddUserDto dto)
  498. {
  499. int id = 0;
  500. return Ok(JsonView(true, "添加成功!", new { Id = id }));
  501. }
  502. #endregion
  503. #region 权限模块
  504. /// <summary>
  505. /// 权限数据页面初始化
  506. /// </summary>
  507. /// <param name="dto"></param>
  508. /// <returns></returns>
  509. //[Authorize]
  510. [HttpPost]
  511. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  512. public async Task<IActionResult> GetAuth(AuthDto dto)
  513. {
  514. Result result = new Result();
  515. //模块数据
  516. var setDataResult = await _setDataRepository.GetSySDefultModule(_setDataRepository);
  517. if (setDataResult.Code != 0)
  518. {
  519. return Ok(JsonView(setDataResult.Msg));
  520. }
  521. List<SetDataView> setDataList = _mapper.Map<List<SetDataView>>(setDataResult.Data);
  522. var mod = setDataList.Find(x => x.Name == "权限模块");
  523. if (mod == null)
  524. {
  525. return Ok(JsonView("未找到权限模块!"));
  526. }
  527. //页面数据
  528. var SystemMenuPermissionData = _SystemMenuPermissionRepository.GetSystemMenuViweData(_SystemMenuPermissionRepository, mod.Id, dto.pageSize, dto.currentPage);
  529. if (SystemMenuPermissionData.Code != 0)
  530. {
  531. return Ok(JsonView(SystemMenuPermissionData.Msg));
  532. }
  533. //公司数据
  534. var CompanyDataResult = _CompanyRepository.GetCompanyData();
  535. if (CompanyDataResult.Code != 0)
  536. {
  537. return Ok(JsonView(CompanyDataResult.Msg));
  538. }
  539. result.Code = 0;
  540. result.Msg = "成功!";
  541. var Dyresult = new
  542. {
  543. setDataResult = setDataResult.Data,
  544. CompanyDataResult = CompanyDataResult.Data,
  545. SystemMenuPermissionData = SystemMenuPermissionData.Data
  546. };
  547. return Ok(JsonView(200, "成功!", Dyresult));
  548. }
  549. #endregion
  550. }
  551. }