SystemController.cs 20 KB

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