SystemController.cs 17 KB

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