SystemController.cs 70 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891
  1. using AutoMapper.Execution;
  2. using Google.Protobuf.WellKnownTypes;
  3. using Microsoft.AspNetCore.Mvc.Formatters;
  4. using Microsoft.AspNetCore.Mvc.ModelBinding;
  5. using Newtonsoft.Json.Linq;
  6. using OASystem.Domain.Dtos.System;
  7. using Org.BouncyCastle.Asn1.Cms;
  8. using System.Collections;
  9. using System.Xml.Linq;
  10. using static OpenAI.GPT3.ObjectModels.SharedModels.IOpenAiModels;
  11. namespace OASystem.API.Controllers
  12. {
  13. /// <summary>
  14. /// 系统设置
  15. /// </summary>
  16. //[Authorize]
  17. [Route("api/[controller]/[action]")]
  18. public class SystemController : ControllerBase
  19. {
  20. private readonly CompanyRepository _syscomRep;
  21. private readonly DepartmentRepository _sysDepRep;
  22. private readonly UsersRepository _userRep;
  23. private readonly IMapper _mapper;
  24. private readonly SqlSugarClient _sqlSugar;
  25. private readonly MessageRepository _messageRep;
  26. private readonly SetDataRepository _setDataRepository;
  27. private readonly SystemMenuPermissionRepository _SystemMenuPermissionRepository;
  28. private readonly CompanyRepository _CompanyRepository;
  29. private readonly PageFunctionPermissionRepository _PageFunctionPermissionRepository;
  30. private readonly SystemMenuAndFunctionRepository _SystemMenuAndFunctionRepository;
  31. private readonly JobPostAuthorityRepository _JobPostAuthorityRepository;
  32. private readonly JobPostRepository _jobRep;
  33. private readonly SetDataTypeRepository _setDataTypeRep;
  34. private readonly UserAuthorityRepository _UserAuthorityRepository;
  35. private readonly List<int> _operationTypeList = new List<int>() { 1, 2, 3, 4, 5 }; //操作通知所属类型
  36. private readonly List<int> _taskTypeList = new List<int>() { 6 };//任务通知 TaskNotification
  37. public SystemController( CompanyRepository syscom, DepartmentRepository sysDepRep, UsersRepository userRep,
  38. IMapper mapper,SqlSugarClient sqlSugar, SetDataRepository setDataRepository, CompanyRepository companyRepository,
  39. SystemMenuPermissionRepository systemMenuPermissionRepository, PageFunctionPermissionRepository pageFunctionPermissionRepository,
  40. SystemMenuAndFunctionRepository systemMenuAndFunctionRepository, JobPostAuthorityRepository jobPostAuthorityRepository,
  41. JobPostRepository jobRep,UserAuthorityRepository userAuthorityRepository, MessageRepository messageRep,SetDataTypeRepository setDataTypeRep)
  42. {
  43. _syscomRep = syscom;
  44. _sysDepRep = sysDepRep;
  45. _messageRep = messageRep;
  46. _userRep = userRep;
  47. _mapper = mapper;
  48. _sqlSugar = sqlSugar;
  49. _setDataRepository = setDataRepository;
  50. _CompanyRepository = companyRepository;
  51. _SystemMenuPermissionRepository = systemMenuPermissionRepository;
  52. _PageFunctionPermissionRepository = pageFunctionPermissionRepository;
  53. _SystemMenuAndFunctionRepository = systemMenuAndFunctionRepository;
  54. _JobPostAuthorityRepository = jobPostAuthorityRepository;
  55. _UserAuthorityRepository = userAuthorityRepository;
  56. _jobRep = jobRep;
  57. _setDataTypeRep = setDataTypeRep;
  58. }
  59. #region 消息
  60. /// <summary>
  61. /// 获取消息列表-整合版
  62. /// </summary>
  63. /// <param name="dto"></param>
  64. /// <returns></returns>
  65. [HttpPost]
  66. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  67. public async Task<IActionResult> PsotMsgPageList(MsgDto dto)
  68. {
  69. var msgData = await _messageRep.GetMsgList(dto);
  70. if (msgData.Code != 0)
  71. {
  72. return Ok(JsonView(false, msgData.Msg));
  73. }
  74. return Ok(JsonView(true,"成功", msgData.Data));
  75. }
  76. #region 消息列表 - 分开
  77. /// <summary>
  78. /// 系统消息
  79. /// 消息类型 2024-03-06 14:37
  80. /// </summary>
  81. /// <param name="dto"></param>
  82. /// <returns></returns>
  83. [HttpPost]
  84. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  85. public async Task<IActionResult> PotsMsgTypeData(MsgTypeDto dto)
  86. {
  87. if (dto.PortType < 1 || dto.PortType > 3)
  88. {
  89. return Ok(JsonView(false, "请输入有效的PortType参数。1 Web 2 Android 3 IOS"));
  90. }
  91. if (dto.UserId < 1)
  92. {
  93. return Ok(JsonView(false, "请输入有效的UserId参数。"));
  94. }
  95. var msgData = await _messageRep.PotsMsgTypeData(dto);
  96. if (msgData.Code != 0)
  97. {
  98. return Ok(JsonView(false, msgData.Msg));
  99. }
  100. return Ok(JsonView(true, "成功", msgData.Data));
  101. }
  102. /// <summary>
  103. /// 系统消息
  104. /// 消息List 2024-03-06 14:54
  105. /// </summary>
  106. /// <param name="dto"></param>
  107. /// <returns></returns>
  108. [HttpPost]
  109. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  110. public async Task<IActionResult> PotsMessagePageList(PotsMessagePageListDto dto)
  111. {
  112. #region 参数验证
  113. if (dto.PortType < 1 || dto.PortType > 3)
  114. {
  115. return Ok(JsonView(false, "请输入有效的PortType参数。1 Web 2 Android 3 IOS"));
  116. }
  117. if (dto.Type < 1 || dto.Type > 2)
  118. {
  119. return Ok(JsonView(false, "请输入有效的Type参数。1 团组操作通知 2 任务操作通知"));
  120. }
  121. if (dto.UserId < 1)
  122. {
  123. return Ok(JsonView(false, "请输入有效的UserId参数。"));
  124. }
  125. #endregion
  126. string msgSqlWhere = string.Format(@"Select sm.Id,sm.Type,sm.Title,sm.Content,sd.DepName issuerDep,su.CnName issuerUser,
  127. sm.ReleaseTime,smra.Id AuthId,smra.ReadableUId,smra.IsRead,smra.ReadTime
  128. From Sys_Message sm
  129. Inner Join Sys_MessageReadAuth smra On sm.Id = smra.MsgId
  130. Inner Join Sys_Users su On sm.IssuerId = su.Id
  131. Inner Join Sys_Department sd On su.DepId = sd.Id
  132. Inner Join Sys_Users suAuth On smra.ReadableUId = suAuth.Id
  133. Where sm.IsDel = 0
  134. And smra.IsDel = 0
  135. And smra.ReadableUId = {0}
  136. Order By ReleaseTime Desc ", dto.UserId);
  137. var _readableMsgList = await _sqlSugar.SqlQueryable<ReadbleMessageView>(msgSqlWhere).ToListAsync();
  138. if (_readableMsgList.Count > 0)
  139. {
  140. if (dto.PortType == 1 || dto.PortType == 2 || dto.PortType == 3)
  141. {
  142. int pageSize = dto.PageSize; // 每页显示的记录数量
  143. int currentPage = dto.PageIndex; // 当前页码(从1开始)
  144. if (dto.Type == 1) //团组操作通知
  145. {
  146. //操作通知 OperationNotification
  147. var operationNotificationData = _readableMsgList.Where(it => _operationTypeList.Contains(it.Type)).OrderBy(it => it.IsRead).ToList();
  148. int operationNotificationDataCount = operationNotificationData.Count;
  149. // 计算起始索引和结束索引
  150. int operationStartIndex = (currentPage - 1) * pageSize;
  151. int operationEndIndex = Math.Min(operationStartIndex + pageSize, operationNotificationDataCount);
  152. var operationNotificationDataView = operationNotificationData.Skip(operationStartIndex).Take(pageSize).ToList();
  153. return Ok(JsonView(true, "成功", operationNotificationDataView, operationNotificationDataCount));
  154. }
  155. else if (dto.Type == 2) //2 任务操作通知
  156. {
  157. //任务通知 TaskNotification
  158. var taskNotificationData = _readableMsgList.Where(it => _taskTypeList.Contains(it.Type)).OrderBy(it => it.IsRead).ToList();
  159. int taskNotificationDataCount = taskNotificationData.Count;
  160. // 计算起始索引和结束索引
  161. int taskStartIndex = (currentPage - 1) * pageSize;
  162. int taskEndIndex = Math.Min(taskStartIndex + pageSize, taskNotificationDataCount);
  163. var taskNotificationDataView = taskNotificationData.Skip(taskStartIndex).Take(pageSize).ToList();
  164. return Ok(JsonView(true, "成功", taskNotificationDataView, taskNotificationDataCount));
  165. }
  166. }
  167. }
  168. return Ok(JsonView(true,"操作成功!" ,new List<int>() { }, 0));
  169. }
  170. #endregion
  171. /// <summary>
  172. /// 获取消息详细信息
  173. /// </summary>
  174. /// <param name="dto"></param>
  175. /// <returns></returns>
  176. [HttpPost]
  177. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  178. public async Task<IActionResult> GetMsgInfo(MsgInfoDto dto)
  179. {
  180. var msgData = await _messageRep.GetMsgInfo(dto);
  181. if (msgData.Code != 0)
  182. {
  183. return Ok(JsonView(false, msgData.Msg));
  184. }
  185. return Ok(JsonView(true, msgData.Data));
  186. }
  187. /// <summary>
  188. /// 消息设置已读
  189. /// </summary>
  190. /// <param name="dto"></param>
  191. /// <returns></returns>
  192. [HttpPost]
  193. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  194. public async Task<IActionResult> SetMessageRead(MsgSetReadDto dto)
  195. {
  196. var msgData = await _messageRep.SetMsgRead(dto);
  197. if (msgData.Code != 0)
  198. {
  199. return Ok(JsonView(false, msgData.Msg));
  200. }
  201. return Ok(JsonView(true, msgData.Data));
  202. }
  203. /// <summary>
  204. /// 消息设置已读
  205. /// </summary>
  206. /// <param name="dto"></param>
  207. /// <returns></returns>
  208. [HttpPost]
  209. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  210. public async Task<IActionResult> DeleMsg(MsgDeleteDto dto)
  211. {
  212. var msgData = await _messageRep.DelMsg(dto);
  213. if (msgData.Code != 0)
  214. {
  215. return Ok(JsonView(false, msgData.Msg));
  216. }
  217. return Ok(JsonView(true, msgData.Data));
  218. }
  219. #endregion
  220. #region 数据类型资料
  221. /// <summary>
  222. /// 根据类型查询数据
  223. /// </summary>
  224. /// <param name="dto"></param>
  225. /// <returns></returns>
  226. [HttpPost]
  227. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  228. public async Task<IActionResult> QuerySetData(SetDataDto dto)
  229. {
  230. try
  231. {
  232. if (dto.DataType == 0)
  233. {
  234. return Ok(JsonView(false, "请传类型Id!"));
  235. }
  236. var setData = _setDataRepository.QueryDto<Sys_SetData, SetDataView>(s => s.STid == dto.DataType && s.IsDel==0).ToList();
  237. if (setData.Count == 0)
  238. {
  239. return Ok(JsonView(false, "暂无数据!"));
  240. }
  241. return Ok(JsonView(true, "查询成功!", setData));
  242. }
  243. catch (Exception ex)
  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> QuerySetDataType(SetDataTypeDto dto)
  257. {
  258. try
  259. {
  260. Result setDataType = await _setDataTypeRep.QuerySetDataType(dto);
  261. if (setDataType.Code == 0)
  262. {
  263. return Ok(JsonView(true, "查询成功", setDataType.Data));
  264. }
  265. else
  266. {
  267. return Ok(JsonView(false, setDataType.Msg));
  268. }
  269. }
  270. catch (Exception)
  271. {
  272. return Ok(JsonView(false, "程序错误!"));
  273. throw;
  274. }
  275. }
  276. /// <summary>
  277. /// 数据类型表操作(Status:1.新增,2.修改)
  278. /// </summary>
  279. /// <param name="dto"></param>
  280. /// <returns></returns>
  281. [HttpPost]
  282. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  283. public async Task<IActionResult> OperationSetDataType(OperationSetDataTypeDto dto)
  284. {
  285. try
  286. {
  287. if (dto.Name == "")
  288. {
  289. return Ok(JsonView(false, "请检查类型名称是否填写!"));
  290. }
  291. Result result = await _setDataTypeRep.OperationSetDataType(dto);
  292. if (result.Code != 0)
  293. {
  294. return Ok(JsonView(false, result.Msg));
  295. }
  296. return Ok(JsonView(true, result.Msg));
  297. }
  298. catch (Exception ex)
  299. {
  300. return Ok(JsonView(false, "程序错误!"));
  301. throw;
  302. }
  303. }
  304. /// <summary>
  305. /// 数据类型表操作删除
  306. /// </summary>
  307. /// <param name="dto"></param>
  308. /// <returns></returns>
  309. [HttpPost]
  310. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  311. public async Task<IActionResult> DelSetDataType(DelSetDataTypeDto dto)
  312. {
  313. try
  314. {
  315. var res = await _setDataTypeRep.SoftDeleteByIdAsync<Sys_SetDataType>(dto.Id.ToString(), dto.DeleteUserId);
  316. if (!res)
  317. {
  318. return Ok(JsonView(false, "删除失败"));
  319. }
  320. return Ok(JsonView(true, "删除成功!"));
  321. }
  322. catch (Exception ex)
  323. {
  324. return Ok(JsonView(false, "程序错误!"));
  325. throw;
  326. }
  327. }
  328. #endregion
  329. #region 数据类型板块
  330. /// <summary>
  331. /// 数据类型板块表查询
  332. /// </summary>
  333. /// <param name="dto"></param>
  334. /// <returns></returns>
  335. [HttpPost]
  336. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  337. public async Task<IActionResult> QuerySetDataInfo(SetDataIDto dto)
  338. {
  339. try
  340. {
  341. Result setData = await _setDataRepository.QuerySetData(dto);
  342. if (setData.Code == 0)
  343. {
  344. return Ok(JsonView(true, "查询成功", setData.Data));
  345. }
  346. else
  347. {
  348. return Ok(JsonView(false, setData.Msg));
  349. }
  350. }
  351. catch (Exception)
  352. {
  353. return Ok(JsonView(false, "程序错误!"));
  354. throw;
  355. }
  356. }
  357. /// <summary>
  358. /// 数据类型板块表操作(Status:1.新增,2.修改)
  359. /// </summary>
  360. /// <param name="dto"></param>
  361. /// <returns></returns>
  362. [HttpPost]
  363. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  364. public async Task<IActionResult> OperationSetData(OperationSetDataDto dto)
  365. {
  366. try
  367. {
  368. if (dto.Name == "")
  369. {
  370. return Ok(JsonView(false, "请检查板块名称是否填写!"));
  371. }
  372. Result result = await _setDataRepository.OperationSetData(dto);
  373. if (result.Code != 0)
  374. {
  375. return Ok(JsonView(false, result.Msg));
  376. }
  377. return Ok(JsonView(true, result.Msg));
  378. }
  379. catch (Exception ex)
  380. {
  381. return Ok(JsonView(false, "程序错误!"));
  382. throw;
  383. }
  384. }
  385. /// <summary>
  386. /// 数据类型表操作删除
  387. /// </summary>
  388. /// <param name="dto"></param>
  389. /// <returns></returns>
  390. [HttpPost]
  391. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  392. public async Task<IActionResult> DelSetData(DelSetDataDto dto)
  393. {
  394. try
  395. {
  396. var res = await _setDataRepository.SoftDeleteByIdAsync<Sys_SetData>(dto.Id.ToString(), dto.DeleteUserId);
  397. if (!res)
  398. {
  399. return Ok(JsonView(false, "删除失败"));
  400. }
  401. return Ok(JsonView(true, "删除成功!"));
  402. }
  403. catch (Exception ex)
  404. {
  405. return Ok(JsonView(false, "程序错误!"));
  406. throw;
  407. }
  408. }
  409. #endregion
  410. #region 企业操作
  411. /// <summary>
  412. /// 查询企业数据
  413. /// </summary>
  414. /// <param name="dto"></param>
  415. /// <returns></returns>
  416. [HttpPost]
  417. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  418. public async Task<IActionResult> getCompanyList(DtoBase dto)
  419. {
  420. try
  421. {
  422. if (dto.PortType == 1)
  423. {
  424. var CompanyDataResult = _CompanyRepository.GetCompanyData();
  425. if (CompanyDataResult.Code != 0)
  426. {
  427. return Ok(JsonView(CompanyDataResult.Msg));
  428. }
  429. List<CompanyView> companyListView = _mapper.Map<List<CompanyView>>(CompanyDataResult.Data);
  430. for (int i = 0; i < companyListView.Count; i++)
  431. {
  432. if (companyListView[i].ParentCompanyId != 0)
  433. {
  434. companyListView[i].ParentCompanyName = companyListView.Find(x => x.Id == companyListView[i].ParentCompanyId).CompanyName;
  435. }
  436. if (companyListView[i].ContactUserId!=0)
  437. {
  438. var user = _userRep.QueryDto<Sys_Users,UserInfoWebView>(x => x.Id == companyListView[i].ContactUserId).ToList();
  439. if (user.Count!=0)
  440. {
  441. companyListView[i].ContactUserName = user[0].CnName;
  442. }
  443. }
  444. }
  445. return Ok(JsonView(true, "查询成功!", companyListView));
  446. }
  447. else if (dto.PortType == 2)
  448. {
  449. var CompanyDataResult = _CompanyRepository.GetCompanyData();
  450. if (CompanyDataResult.Code != 0)
  451. {
  452. return Ok(JsonView(CompanyDataResult.Msg));
  453. }
  454. return Ok(JsonView(true,"查询成功!", CompanyDataResult.Data));
  455. }
  456. else if (dto.PortType == 3)
  457. {
  458. return Ok(JsonView(false, "暂无数据!"));
  459. }
  460. else
  461. {
  462. return Ok(JsonView(false, "暂无数据!"));
  463. }
  464. }
  465. catch (Exception ex)
  466. {
  467. return Ok(JsonView(false, "程序错误!"));
  468. throw;
  469. }
  470. }
  471. /// <summary>
  472. /// 添加企业数据
  473. /// </summary>
  474. /// <param name="dto"></param>
  475. /// <returns></returns>
  476. [HttpPost]
  477. [ProducesResponseType(typeof(JsonView),StatusCodes.Status200OK)]
  478. public async Task<IActionResult> AddCompany(AddCompanyDto dto)
  479. {
  480. try
  481. {
  482. if (string.IsNullOrWhiteSpace(dto.CompanyName) || dto.CreateUserId == 0 || string.IsNullOrWhiteSpace(dto.CompanyCode))
  483. {
  484. return Ok(JsonView(false, "请检查信息是否输入完整!"));
  485. }
  486. else if (string.IsNullOrWhiteSpace(dto.Tel))
  487. {
  488. return Ok(JsonView(false, "请检查联系方式是否输入正确!"));
  489. }
  490. else
  491. {
  492. Sys_Company _Company = _mapper.Map<Sys_Company>(dto);
  493. Result data = await _syscomRep.AddCompany(_Company);
  494. if (data.Code != 0)
  495. {
  496. return Ok(JsonView(false, "添加失败!"));
  497. }
  498. return Ok(JsonView(true,"添加成功"));
  499. }
  500. }
  501. catch (Exception)
  502. {
  503. return Ok(JsonView(false, "程序错误!"));
  504. throw;
  505. }
  506. }
  507. /// <summary>
  508. /// 企业修改
  509. /// </summary>
  510. /// <param name="dto"></param>
  511. /// <returns></returns>
  512. [HttpPost]
  513. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  514. public async Task<IActionResult>EditCompany(EditCompanyDto dto)
  515. {
  516. try
  517. {
  518. if (string.IsNullOrWhiteSpace(dto.CompanyName) || string.IsNullOrWhiteSpace(dto.CompanyCode) || string.IsNullOrWhiteSpace(dto.Address) || dto.ContactUserId == 0)
  519. {
  520. return Ok(JsonView(false, "请检查信息是否输入完整!"));
  521. }
  522. else if (string.IsNullOrWhiteSpace(dto.Tel))
  523. {
  524. return Ok(JsonView(false, "请检查联系方式是否输入正确!"));
  525. }
  526. else
  527. {
  528. bool res = await _syscomRep.UpdateAsync(a => a.Id == dto.Id, a => new Sys_Company
  529. {
  530. CompanyName = dto.CompanyName,
  531. CompanyCode = dto.CompanyCode,
  532. Address = dto.Address,
  533. ParentCompanyId = dto.ParentCompanyId,
  534. Tel = dto.Tel,
  535. ContactUserId = dto.ContactUserId,
  536. Remark=dto.Remark,
  537. });
  538. if (!res) { return Ok(JsonView(false, "修改失败")); }
  539. return Ok(JsonView(true,"修改成功!"));
  540. }
  541. }
  542. catch (Exception)
  543. {
  544. return Ok(JsonView(false, "程序错误!"));
  545. throw;
  546. }
  547. }
  548. /// <summary>
  549. /// 企业删除
  550. /// </summary>
  551. /// <param name="dto"></param>
  552. /// <returns></returns>
  553. [HttpPost]
  554. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  555. public async Task<IActionResult> DelCompany(DelCompanyDto dto)
  556. {
  557. try
  558. {
  559. bool res = await _syscomRep.SoftDeleteAsync<Sys_Company>(dto.Id.ToString());
  560. if (!res) { return Ok(JsonView(false, "删除失败")); }
  561. return Ok(JsonView(true, "删除成功"));
  562. }
  563. catch (Exception)
  564. {
  565. return Ok(JsonView(false, "程序错误!"));
  566. throw;
  567. }
  568. }
  569. #endregion
  570. #region 部门操作
  571. /// <summary>
  572. /// 查询部门数据
  573. /// </summary>
  574. /// <param name="dto"></param>
  575. /// <returns></returns>
  576. [HttpPost]
  577. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  578. public async Task<IActionResult> QueryDepartmentList(DepartmentDto dto)
  579. {
  580. try
  581. {
  582. if (dto.PortType==1)
  583. {
  584. if (dto.CompanyId!=0)
  585. {
  586. var result = _sysDepRep.QueryDto<Sys_Department, DepartmentIView>(s => s.CompanyId == dto.CompanyId).ToList();
  587. if (result.Count == 0)
  588. {
  589. return Ok(JsonView(false, "暂无数据!"));
  590. }
  591. for (int i = 0; i < result.Count; i++)
  592. {
  593. if (result[i].ParentDepId != 0)
  594. {
  595. result[i].ParentDepName = result.Find(x => x.Id == result[i].ParentDepId).ParentDepName;
  596. }
  597. var company = _sysDepRep.QueryDto<Sys_Company, CompanyView>(s => s.Id == result[i].CompanyId).ToList();
  598. if (company.Count != 0)
  599. {
  600. result[i].CompanyName = company[0].CompanyName;
  601. }
  602. return Ok(JsonView(true, "查询成功!", result));
  603. }
  604. }
  605. else
  606. {
  607. var result = _sysDepRep.QueryDto<Sys_Department, DepartmentIView>(s => s.IsDel <=1).ToList();
  608. if (result.Count == 0)
  609. {
  610. return Ok(JsonView(false, "暂无数据!"));
  611. }
  612. for (int i = 0; i < result.Count; i++)
  613. {
  614. if (result[i].ParentDepId != 0)
  615. {
  616. result[i].ParentDepName = result.Find(x => x.Id == result[i].ParentDepId).ParentDepName;
  617. }
  618. var company = _sysDepRep.QueryDto<Sys_Company, CompanyView>(s => s.Id == result[i].CompanyId).ToList();
  619. if (company.Count != 0)
  620. {
  621. result[i].CompanyName = company[0].CompanyName;
  622. }
  623. }
  624. return Ok(JsonView(true, "查询成功!", result));
  625. }
  626. return Ok(JsonView(false, "暂无数据!"));
  627. }
  628. else if (dto.PortType==2)
  629. {
  630. var result = _sysDepRep.QueryDto<Sys_Department, DepartmentIView>(s => s.CompanyId == dto.CompanyId).ToList();
  631. if (result.Count == 0)
  632. {
  633. return Ok(JsonView(false, "暂无数据!"));
  634. }
  635. return Ok(JsonView(true,"查询成功!",result));
  636. }
  637. else if (dto.PortType == 3)
  638. {
  639. return Ok(JsonView(false, "暂无数据!"));
  640. }
  641. else
  642. {
  643. return Ok(JsonView(false, "暂无数据!"));
  644. }
  645. }
  646. catch (Exception ex)
  647. {
  648. return Ok(JsonView(false, "程序错误!"));
  649. throw;
  650. }
  651. }
  652. /// <summary>
  653. /// 部门添加
  654. /// </summary>
  655. /// <param name="dto"></param>
  656. /// <returns></returns>
  657. [HttpPost]
  658. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  659. public async Task<IActionResult> AddDepartment(AddDepartmentDto dto)
  660. {
  661. try
  662. {
  663. if (dto.CreateUserId == 0 || string.IsNullOrWhiteSpace(dto.DepName) || dto.CompanyId == 0 || string.IsNullOrWhiteSpace(dto.DepCode))
  664. {
  665. return Ok(JsonView(false, "请检查信息是否输入完整!"));
  666. }
  667. else
  668. {
  669. Sys_Department _Department = _mapper.Map<Sys_Department>(dto);
  670. int id = await _sysDepRep.AddAsyncReturnId(_Department);
  671. if (id == 0)
  672. {
  673. return Ok(JsonView(false, "添加失败!"));
  674. }
  675. return Ok(JsonView(true, "添加成功!", new { Id = id }));
  676. }
  677. }
  678. catch (Exception)
  679. {
  680. return Ok(JsonView(false, "程序错误!"));
  681. throw;
  682. }
  683. }
  684. /// <summary>
  685. /// 部门修改
  686. /// </summary>
  687. /// <param name="dto"></param>
  688. /// <returns></returns>
  689. [HttpPost]
  690. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  691. public async Task<IActionResult> EditDepartment(EditDepartmentDto dto)
  692. {
  693. try
  694. {
  695. if (dto.Id==0 || string.IsNullOrWhiteSpace(dto.DepName) || dto.CompanyId == 0 || string.IsNullOrWhiteSpace(dto.DepCode))
  696. {
  697. return Ok(JsonView(false, "请检查信息是否输入完整!"));
  698. }
  699. else
  700. {
  701. bool res = await _sysDepRep.UpdateAsync<Sys_Department>(a => a.Id == dto.Id, a => new Sys_Department
  702. {
  703. CompanyId=dto.CompanyId,
  704. DepCode=dto.DepCode,
  705. DepName=dto.DepName,
  706. ParentDepId=dto.ParentDepId,
  707. Remark=dto.Remark,
  708. });
  709. if (!res)
  710. {
  711. return Ok(JsonView(false, "修改失败!"));
  712. }
  713. return Ok(JsonView(true, "修改成功!"));
  714. }
  715. }
  716. catch (Exception)
  717. {
  718. return Ok(JsonView(false, "程序错误!"));
  719. throw;
  720. }
  721. }
  722. /// <summary>
  723. /// 部门删除
  724. /// </summary>
  725. /// <param name="dto"></param>
  726. /// <returns></returns>
  727. [HttpPost]
  728. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  729. public async Task<IActionResult> DelDepartment(DelDepartmentDto dto)
  730. {
  731. try
  732. {
  733. if (dto.Id == 0)
  734. {
  735. return Ok(JsonView(-1, "请检查信息是否输入完整!", null));
  736. }
  737. else
  738. {
  739. bool res =await _sysDepRep.SoftDeleteAsync<Sys_Department>(dto.Id.ToString());
  740. if (!res)
  741. {
  742. return Ok(JsonView(false, "删除失败!"));
  743. }
  744. return Ok(JsonView(true, "删除成功!"));
  745. }
  746. }
  747. catch (Exception)
  748. {
  749. return Ok(JsonView(false, "程序错误!"));
  750. throw;
  751. }
  752. }
  753. #endregion
  754. #region 岗位板块
  755. /// <summary>
  756. /// 岗位查询
  757. /// </summary>
  758. /// <param name="dto"></param>
  759. /// <returns></returns>
  760. [HttpPost]
  761. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  762. public async Task<IActionResult> QueryJobPost(QueryJobPostDto dto)
  763. {
  764. try
  765. {
  766. if (dto.PortType == 1)
  767. {
  768. string sqlWhere = string.Empty;
  769. if (dto.CompanyId != 0)
  770. {
  771. sqlWhere += string.Format(@" And jp.CompanyId={0}", dto.CompanyId);
  772. }
  773. if (dto.DepId != 0)
  774. {
  775. sqlWhere += string.Format(@" And jp.DepId={0}", dto.DepId);
  776. }
  777. sqlWhere += string.Format(@" And jp.IsDel={0}", 0);
  778. if (!string.IsNullOrEmpty(sqlWhere.Trim()))
  779. {
  780. Regex r = new Regex("And");
  781. sqlWhere = r.Replace(sqlWhere, "Where", 1);
  782. }
  783. List<Sys_JobPostI> jobList = await _jobRep.QueryJobPost(sqlWhere);
  784. List<JobPostView> List = _mapper.Map<List<JobPostView>>(jobList);
  785. if (jobList.Count == 0)
  786. {
  787. return Ok(JsonView(false, "暂无数据!"));
  788. }
  789. return Ok(JsonView(true, "查询成功!", jobList));
  790. }
  791. else if (dto.PortType == 2)
  792. {
  793. var result = _jobRep.QueryDto<Sys_JobPost, JobPostView>(s => s.CompanyId == dto.CompanyId && s.DepId==dto.DepId).ToList();
  794. if (result.Count == 0)
  795. {
  796. return Ok(JsonView(false, "暂无数据!"));
  797. }
  798. return Ok(JsonView(true, "查询成功!", result));
  799. }
  800. else if (dto.PortType == 3)
  801. {
  802. return Ok(JsonView(false, "暂无数据!"));
  803. }
  804. else
  805. {
  806. return Ok(JsonView(false, "暂无数据!"));
  807. }
  808. }
  809. catch (Exception ex)
  810. {
  811. return Ok(JsonView(false, "程序错误!"));
  812. throw;
  813. }
  814. }
  815. /// <summary>
  816. /// 添加岗位
  817. /// </summary>
  818. /// <param name="dto"></param>
  819. /// <returns></returns>
  820. [HttpPost]
  821. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  822. public async Task<IActionResult> AddJobPost(AddJobPostDto dto)
  823. {
  824. try
  825. {
  826. Sys_JobPost sys_Job = _mapper.Map<Sys_JobPost>(dto);
  827. int id = await _jobRep.AddAsyncReturnId(sys_Job);
  828. if (id == 0)
  829. {
  830. return Ok(JsonView(false, "添加失败"));
  831. }
  832. return Ok(JsonView(true, "添加成功", new { Id = id }));
  833. }
  834. catch (Exception ex)
  835. {
  836. return Ok(JsonView(false, "程序错误!"));
  837. throw;
  838. }
  839. }
  840. /// <summary>
  841. /// 修改岗位
  842. /// </summary>
  843. /// <param name="dto"></param>
  844. /// <returns></returns>
  845. [HttpPost]
  846. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  847. public async Task<IActionResult> EditJobPost(EditJobPostDto dto)
  848. {
  849. try
  850. {
  851. bool res = await _jobRep.UpdateAsync<Sys_JobPost>(a=>a.Id==dto.Id,a =>new Sys_JobPost
  852. {
  853. CompanyId=dto.CompanyId,
  854. DepId=dto.DepId,
  855. JobName=dto.JobName,
  856. Remark=dto.Remark,
  857. });
  858. if (!res)
  859. {
  860. return Ok(JsonView(false, "修改失败"));
  861. }
  862. return Ok(JsonView(true, "修改成功"));
  863. }
  864. catch (Exception ex)
  865. {
  866. return Ok(JsonView(false, "程序错误!"));
  867. throw;
  868. }
  869. }
  870. /// <summary>
  871. /// 删除岗位
  872. /// </summary>
  873. /// <param name="dto"></param>
  874. /// <returns></returns>
  875. [HttpPost]
  876. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  877. public async Task<IActionResult> DelJobPost(DelJobPostDto dto)
  878. {
  879. try
  880. {
  881. bool res = await _jobRep.SoftDeleteAsync<Sys_JobPost>(dto.Id.ToString());
  882. if (!res)
  883. {
  884. return Ok(JsonView(false, "删除失败!"));
  885. }
  886. return Ok(JsonView(true, "删除成功"));
  887. }
  888. catch (Exception)
  889. {
  890. return Ok(JsonView(false, "程序错误!"));
  891. throw;
  892. }
  893. }
  894. #endregion
  895. #region 用户操作
  896. /// <summary>
  897. /// 查询所有员工名称
  898. /// </summary>
  899. /// <param name="dto"></param>
  900. /// <returns></returns>
  901. [HttpPost]
  902. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  903. public async Task<IActionResult> GetUserNameList(DtoBase dto)
  904. {
  905. try
  906. {
  907. var result = _userRep.GetUserNameList(dto.PortType);
  908. if (result.Result.Code != 0)
  909. {
  910. return Ok(JsonView(false, "暂无数据!"));
  911. }
  912. return Ok(JsonView(true, "查询成功!", result.Result.Data));
  913. }
  914. catch (Exception)
  915. {
  916. return Ok(JsonView(false, "程序错误!"));
  917. throw;
  918. }
  919. }
  920. /// <summary>
  921. /// 查询所有员工(web)
  922. /// </summary>
  923. /// <param name="dto"></param>
  924. /// <returns></returns>
  925. [HttpPost]
  926. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  927. public async Task<IActionResult> GetUserList(DtoBase dto)
  928. {
  929. try
  930. {
  931. var result = _userRep.GetUserList(dto.PortType, string.Empty);
  932. if (result.Result.Code != 0)
  933. {
  934. return Ok(JsonView(false, "暂无数据!"));
  935. }
  936. return Ok(JsonView(true, "查询成功!", result.Result.Data));
  937. }
  938. catch (Exception)
  939. {
  940. return Ok(JsonView(false, "程序错误!"));
  941. throw;
  942. }
  943. }
  944. /// <summary>
  945. /// 查询用户数据
  946. /// </summary>
  947. /// <param name="dto"></param>
  948. /// <returns></returns>
  949. [HttpPost]
  950. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  951. public async Task<IActionResult> QueryUserList(UserDto dto)
  952. {
  953. try
  954. {
  955. string sqlWhere = string.Format(" Where su.IsDel = 0 ");
  956. if (dto.CompanyId!=0)
  957. {
  958. sqlWhere += string.Format(@" And su.CompanyId={0}", dto.CompanyId);
  959. }
  960. if (dto.DepId != 0)
  961. {
  962. sqlWhere += string.Format(@" And su.DepId={0}", dto.DepId);
  963. }
  964. if (dto.JobPostId != 0)
  965. {
  966. sqlWhere += string.Format(@" And su.JobPostId={0}", dto.JobPostId);
  967. }
  968. List<UserInfo> _userList =await _userRep.QueryUser(sqlWhere);
  969. if (_userList.Count == 0)
  970. {
  971. return Ok(JsonView(false, "暂无数据!"));
  972. }
  973. List<UserInfoWebView> userList = _mapper.Map<List<UserInfoWebView>>(_userList);
  974. return Ok(JsonView(true,"查询成功!", userList));
  975. }
  976. catch (Exception)
  977. {
  978. return Ok(JsonView(false, "程序错误!"));
  979. throw;
  980. }
  981. }
  982. /// <summary>
  983. /// 修改用户信息(上级修改/分配 公司、部门、岗位、工号等信息)
  984. /// </summary>
  985. /// <param name="dto"></param>
  986. /// <returns></returns>
  987. [HttpPost]
  988. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  989. public async Task<IActionResult> EditUser(EditUserDto dto)
  990. {
  991. try
  992. {
  993. bool res = await _userRep.UpdateAsync<Sys_Users>(a => a.Id == dto.Id, a => new Sys_Users
  994. {
  995. Number = dto.Number,
  996. CompanyId = dto.CompanyId,
  997. DepId = dto.DepId,
  998. JobPostId = dto.JobPostId,
  999. Ext = dto.Ext,
  1000. UsePeriod = dto.UsePeriod,
  1001. HrAudit = dto.HrAudit
  1002. });
  1003. if (!res)
  1004. {
  1005. return Ok(JsonView(false, "修改失败!"));
  1006. }
  1007. return Ok(JsonView(true, "修改成功!"));
  1008. }
  1009. catch (Exception)
  1010. {
  1011. return Ok(JsonView(false, "程序错误!"));
  1012. throw;
  1013. }
  1014. }
  1015. /// <summary>
  1016. /// 修改用户信息(登录用户修改个人信息)
  1017. /// </summary>
  1018. /// <param name="dto"></param>
  1019. /// <returns></returns>
  1020. [HttpPost]
  1021. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  1022. public async Task<IActionResult> EditMyUser(EditMyUserDto dto)
  1023. {
  1024. try
  1025. {
  1026. if (string.IsNullOrWhiteSpace(dto.CnName) || string.IsNullOrWhiteSpace(dto.Address) || string.IsNullOrWhiteSpace(dto.IDCard) || dto.Sex != 0 && dto.Sex != 1 ||
  1027. string.IsNullOrWhiteSpace(dto.MaritalStatus) || string.IsNullOrWhiteSpace(dto.HomeAddress)|| dto.Birthday>=DateTime.Now.AddYears(-1))
  1028. {
  1029. return Ok(JsonView(false, "请完善你的个人信息!"));
  1030. }
  1031. else if (string.IsNullOrWhiteSpace(dto.GraduateInstitutions) || string.IsNullOrWhiteSpace(dto.Professional) || dto.Education == 0 || string.IsNullOrWhiteSpace(dto.GraduateInstitutions))
  1032. {
  1033. return Ok(JsonView(false, "请完善你的学历信息!"));
  1034. }
  1035. else if (string.IsNullOrWhiteSpace(dto.Phone) || string.IsNullOrWhiteSpace(dto.UrgentPhone) || string.IsNullOrWhiteSpace(dto.Email))
  1036. {
  1037. return Ok(JsonView(false, "请检查联系方式、紧急联系人及邮箱输写是否正确!"));
  1038. }
  1039. else
  1040. {
  1041. bool res = await _userRep.UpdateAsync<Sys_Users>(a => a.Id == dto.Id, a => new Sys_Users
  1042. {
  1043. CnName = dto.CnName,
  1044. EnName = dto.EnName,
  1045. Sex = dto.Sex,
  1046. Phone = dto.Phone,
  1047. UrgentPhone = dto.UrgentPhone,
  1048. Email = dto.Email,
  1049. Address = dto.Address,
  1050. Edate = dto.Edate,
  1051. Birthday = dto.Birthday,
  1052. IDCard = dto.IDCard,
  1053. GraduateInstitutions = dto.GraduateInstitutions,
  1054. Professional = dto.Professional,
  1055. Education = dto.Education,
  1056. TheOrAdultEducation = dto.TheOrAdultEducation,
  1057. MaritalStatus = dto.MaritalStatus,
  1058. HomeAddress = dto.HomeAddress,
  1059. WorkExperience = dto.WorkExperience,
  1060. Certificate = dto.Certificate
  1061. });
  1062. if (!res)
  1063. {
  1064. return Ok(JsonView(false, "修改失败!"));
  1065. }
  1066. return Ok(JsonView(true, "修改成功!"));
  1067. }
  1068. }
  1069. catch (Exception)
  1070. {
  1071. return Ok(JsonView(false, "程序错误!"));
  1072. throw;
  1073. }
  1074. }
  1075. /// <summary>
  1076. /// 删除用户信息
  1077. /// 即为离职
  1078. /// </summary>
  1079. /// <param name="dto"></param>
  1080. /// <returns></returns>
  1081. [HttpPost]
  1082. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  1083. public async Task<IActionResult> PostUserDelById(UserDelDto dto)
  1084. {
  1085. try
  1086. {
  1087. if (dto == null)
  1088. {
  1089. return Ok(JsonView(false, "参数不能为空!"));
  1090. }
  1091. Sys_Users _Users=_sqlSugar.Queryable<Sys_Users>().First(a=>a.IsDel==0 && a.Id==dto.Id);
  1092. if (_Users != null)
  1093. {
  1094. List<Sys_Users> sys_UsersList=_sqlSugar.Queryable<Sys_Users>().Where(a=>a.IsDel==0 && a.CompanyId==_Users.CompanyId).ToList();
  1095. if (sys_UsersList.Count==1)
  1096. {
  1097. return Ok(JsonView(false, "该人员为公司最后一位,不可删除!"));
  1098. }
  1099. }
  1100. bool res = await _userRep.UpdateAsync<Sys_Users>(a => a.Id == dto.Id, a => new Sys_Users
  1101. {
  1102. IsDel = 1,
  1103. DeleteUserId = dto.OperateUserId,
  1104. DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
  1105. Rdate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))
  1106. });
  1107. if (!res)
  1108. {
  1109. return Ok(JsonView(false, "操作失败!"));
  1110. }
  1111. return Ok(JsonView(true, "操作成功!"));
  1112. }
  1113. catch (Exception)
  1114. {
  1115. return Ok(JsonView(false, "程序错误!"));
  1116. }
  1117. }
  1118. /// <summary>
  1119. /// 人事审核
  1120. /// </summary>
  1121. /// <param name="dto"></param>
  1122. /// <returns></returns>
  1123. [HttpPost]
  1124. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  1125. public async Task<IActionResult> PersonnelAudit(PersonnelAuditDto dto)
  1126. {
  1127. try
  1128. {
  1129. if (dto == null)
  1130. {
  1131. return Ok(JsonView(false, "参数不能为空!"));
  1132. }
  1133. bool res = await _userRep.UpdateAsync<Sys_Users>(a => a.Id == dto.Id, a => new Sys_Users
  1134. {
  1135. HrAudit=dto.isAudit
  1136. });
  1137. if (!res)
  1138. {
  1139. return Ok(JsonView(false, "操作失败!"));
  1140. }
  1141. return Ok(JsonView(true, "操作成功!"));
  1142. }
  1143. catch (Exception)
  1144. {
  1145. return Ok(JsonView(false, "程序错误!"));
  1146. }
  1147. }
  1148. #endregion
  1149. #region 权限模块
  1150. /// <summary>
  1151. /// 权限数据页面初始化
  1152. /// </summary>
  1153. /// <param name="dto"></param>
  1154. /// <returns></returns>
  1155. //[Authorize]
  1156. [HttpPost]
  1157. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  1158. public async Task<IActionResult> GetAuth(AuthDto dto)
  1159. {
  1160. Result result = new Result();
  1161. //模块数据
  1162. var setDataResult = await _setDataRepository.GetSySDefultModule();
  1163. if (setDataResult.Code != 0)
  1164. {
  1165. return Ok(JsonView(setDataResult.Msg));
  1166. }
  1167. //操作方式
  1168. var PageOperation = _PageFunctionPermissionRepository.QueryDto<Sys_PageFunctionPermission, Sys_PageFunctionPermission>(x=>x.IsEnable == 1).ToList();
  1169. //获取所有关联页面
  1170. var Sys_SystemMenuAndFunction = _SystemMenuAndFunctionRepository.QueryDto<Sys_SystemMenuAndFunction, SystemMenuAndFunctionView>().ToList();
  1171. //页面数据
  1172. var SystemMenuPermissionData = _SystemMenuPermissionRepository.QueryDto<Sys_SystemMenuPermission, SystemMenuPermissionView>(x=>x.Mid == dto.moduleId && x.IsEnable == 1).ToList();
  1173. if (SystemMenuPermissionData == null || SystemMenuPermissionData.Count() == 0)
  1174. {
  1175. return Ok(JsonView("暂无数据"));
  1176. }
  1177. ArrayList viewData = new ArrayList();
  1178. //组合页面数据
  1179. foreach (var item in SystemMenuPermissionData)
  1180. {
  1181. ArrayList ids = new ArrayList();
  1182. foreach (var viewop in PageOperation)
  1183. {
  1184. var op = Sys_SystemMenuAndFunction.FirstOrDefault(x => x.SmId == item.Id && x.FId == viewop.Id);
  1185. if (op != null)
  1186. {
  1187. ids.Add(viewop.Id);
  1188. }
  1189. }
  1190. viewData.Add(new
  1191. {
  1192. Id = item.Id,
  1193. Mid = item.Mid,
  1194. Name = item.Name,
  1195. SystemMenuCode = item.SystemMenuCode,
  1196. opList = ids,
  1197. selList = new string[0]
  1198. }) ;
  1199. }
  1200. //公司数据
  1201. var CompanyDataResult = _CompanyRepository.GetCompanyData();
  1202. if (CompanyDataResult.Code != 0)
  1203. {
  1204. return Ok(JsonView(CompanyDataResult.Msg));
  1205. }
  1206. result.Code = 0;
  1207. result.Msg = "成功!";
  1208. var Dyresult = new
  1209. {
  1210. setDataResult = setDataResult.Data,
  1211. CompanyDataResult = CompanyDataResult.Data,
  1212. SystemMenuPermissionData = viewData,
  1213. PageOperation = PageOperation,
  1214. };
  1215. return Ok(JsonView(200, "成功!", Dyresult));
  1216. }
  1217. /// <summary>
  1218. /// 获取职务权限
  1219. /// </summary>
  1220. /// <param name="dto"></param>
  1221. /// <returns></returns>
  1222. [HttpPost]
  1223. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  1224. public IActionResult QueryJobAuth(QueryJobAuthDto dto)
  1225. {
  1226. //选中的操作权限
  1227. var DBdata = _JobPostAuthorityRepository.QueryDto<Sys_JobPostAuthority, JobPostAuthorityView>(x=>x.JpId == dto.jobid).ToList();
  1228. var SystemMenuPermissionData = _SystemMenuPermissionRepository.QueryDto<Sys_SystemMenuPermission, SystemMenuPermissionView>(x => x.Mid == dto.moduleId).ToList();
  1229. if (SystemMenuPermissionData == null || SystemMenuPermissionData.Count() == 0)
  1230. {
  1231. return Ok(JsonView("暂无数据"));
  1232. }
  1233. //所有操作
  1234. var PageOperation = _PageFunctionPermissionRepository.QueryDto<Sys_PageFunctionPermission, Sys_PageFunctionPermission>().ToList();
  1235. //获取所有关联页面
  1236. var Sys_SystemMenuAndFunction = _SystemMenuAndFunctionRepository.QueryDto<Sys_SystemMenuAndFunction, SystemMenuAndFunctionView>().ToList();
  1237. ArrayList viewData = new ArrayList();
  1238. //组合页面数据
  1239. foreach (var item in SystemMenuPermissionData)
  1240. {
  1241. ArrayList ids = new ArrayList();
  1242. foreach (var viewop in PageOperation)
  1243. {
  1244. var op = Sys_SystemMenuAndFunction.FirstOrDefault(x => x.SmId == item.Id && x.FId == viewop.Id);
  1245. if (op != null)
  1246. {
  1247. ids.Add(viewop.Id);
  1248. }
  1249. }
  1250. //获取本职务的页面拥有的权限
  1251. var DBwhere = DBdata.Where(x => x.SmId == item.Id && x.JpId == dto.jobid).ToList();
  1252. viewData.Add(new
  1253. {
  1254. Id = item.Id,
  1255. Mid = item.Mid,
  1256. Name = item.Name,
  1257. SystemMenuCode = item.SystemMenuCode,
  1258. opList = ids,
  1259. selList = DBwhere.Select(x => x.FId)
  1260. }) ;
  1261. }
  1262. return Ok(JsonView(200, "成功!", viewData));
  1263. }
  1264. /// <summary>
  1265. /// 保存岗位权限
  1266. /// </summary>
  1267. /// <param name="dto"></param>
  1268. /// <returns></returns>
  1269. [HttpPost]
  1270. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  1271. public async Task<IActionResult> SaveJobAuth(SaveJobDto dto)
  1272. {
  1273. //获取所有关联页面
  1274. var Sys_SystemMenuAndFunction = _SystemMenuAndFunctionRepository.QueryDto<Sys_SystemMenuAndFunction, SystemMenuAndFunctionView>().ToList();
  1275. var RemoveJobPostAuthList = _SystemMenuAndFunctionRepository._sqlSugar.SqlQueryable<Sys_JobPostAuthority>($@"
  1276. select a.* from Sys_JobPostAuthority a, Sys_SetData b ,Sys_SystemMenuPermission c
  1277. where a.SmId = c.Id and c.Mid = b.Id and JpId = {dto.Jpid} and c.Mid ={dto.modulId}
  1278. ").ToList();
  1279. List<Sys_JobPostAuthority> adds = new List<Sys_JobPostAuthority>();
  1280. foreach (var item in dto.Savejobs)
  1281. {
  1282. foreach (var fid in item.FIds)
  1283. {
  1284. var whereobj = Sys_SystemMenuAndFunction.FirstOrDefault(x => x.FId == fid && x.SmId == item.SmId);
  1285. if (whereobj != null)
  1286. {
  1287. adds.Add(new Sys_JobPostAuthority
  1288. {
  1289. CreateTime = DateTime.Now,
  1290. CreateUserId = 245,
  1291. FId = fid,
  1292. JpId = dto.Jpid,
  1293. SmId = item.SmId
  1294. });
  1295. }
  1296. }
  1297. }
  1298. _JobPostAuthorityRepository.BeginTran();
  1299. try
  1300. { //删除岗位
  1301. bool isdel = await _JobPostAuthorityRepository.DeletesAsync<Sys_JobPostAuthority>(RemoveJobPostAuthList);
  1302. int UpRows = _JobPostAuthorityRepository.Adds<Sys_JobPostAuthority>(adds);
  1303. //获取所有职位员工
  1304. var jobUserAll = await QueryUserList(new UserDto { PortType = 2, JobPostId = dto.Jpid });
  1305. List<UserInfoWebView> users = null;
  1306. var QueryUserListApiResult = (((jobUserAll as OkObjectResult).Value) as OASystem.Domain.ViewModels.JsonView);
  1307. if (QueryUserListApiResult != null)
  1308. {
  1309. if (QueryUserListApiResult.Code == 200)
  1310. {
  1311. users = QueryUserListApiResult.Data as List<UserInfoWebView>;
  1312. }
  1313. }
  1314. if (users != null && users.Count > 0)
  1315. {
  1316. List<Sys_UserAuthority> userAuth = null;
  1317. var uids = string.Join(',', users.Select(x => x.Id)).TrimEnd(',');
  1318. var RemoveUserAuthorityListAndTemp = _UserAuthorityRepository._sqlSugar.SqlQueryable<Sys_UserAuthority>($@"
  1319. select a.* from Sys_UserAuthority a, Sys_SetData b ,Sys_SystemMenuPermission c
  1320. where a.SmId = c.Id and c.Mid = b.Id and uid in ({uids}) and c.Mid = {dto.modulId} and IsTemp = 1
  1321. ").ToList();
  1322. foreach (var user in users)
  1323. {
  1324. //删除个人级岗位权限
  1325. isdel = await _UserAuthorityRepository.DeletesAsync<Sys_UserAuthority>
  1326. (RemoveUserAuthorityListAndTemp.FindAll(x=>x.UId == user.Id));
  1327. userAuth = adds.Select(x=> new Sys_UserAuthority
  1328. {
  1329. CreateTime = DateTime.Now,
  1330. CreateUserId = 235,
  1331. FId = x.FId,
  1332. SmId = x.SmId,
  1333. UId = user.Id,
  1334. IsTemp = 1,
  1335. }).ToList();
  1336. //添加个人级别岗位
  1337. int AddRows = _UserAuthorityRepository.Adds<Sys_UserAuthority>(userAuth);
  1338. }
  1339. }
  1340. }
  1341. catch (Exception ex)
  1342. {
  1343. _JobPostAuthorityRepository.RollbackTran();
  1344. return Ok(JsonView("系统错误!"));
  1345. }
  1346. _JobPostAuthorityRepository.CommitTran();
  1347. return Ok(JsonView(200, "成功", new { }));
  1348. }
  1349. /// <summary>
  1350. /// 获取员工权限
  1351. /// </summary>
  1352. /// <param name="dto"></param>
  1353. /// <returns></returns>
  1354. [HttpPost]
  1355. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  1356. public IActionResult QueryUserAuth(QueryUserAuthDto dto)
  1357. {
  1358. //选中的员工操作权限
  1359. var DBdata = _UserAuthorityRepository.QueryDto<Sys_UserAuthority, UserAuthorityView>(x => x.UId == dto.Userid).ToList();
  1360. var SystemMenuPermissionData = _SystemMenuPermissionRepository.QueryDto<Sys_SystemMenuPermission, SystemMenuPermissionView>(x => x.Mid == dto.moduleId).ToList();
  1361. if (SystemMenuPermissionData == null || SystemMenuPermissionData.Count() == 0)
  1362. {
  1363. return Ok(JsonView("暂无数据"));
  1364. }
  1365. //所有操作
  1366. var PageOperation = _PageFunctionPermissionRepository.QueryDto<Sys_PageFunctionPermission, Sys_PageFunctionPermission>(x=>x.IsEnable == 1).ToList();
  1367. //获取所有关联页面
  1368. var Sys_SystemMenuAndFunction = _SystemMenuAndFunctionRepository.QueryDto<Sys_SystemMenuAndFunction, SystemMenuAndFunctionView>().ToList();
  1369. ArrayList viewData = new ArrayList();
  1370. //组合页面数据
  1371. foreach (var item in SystemMenuPermissionData)
  1372. {
  1373. ArrayList ids = new ArrayList();
  1374. foreach (var viewop in PageOperation)
  1375. {
  1376. var op = Sys_SystemMenuAndFunction.FirstOrDefault(x => x.SmId == item.Id && x.FId == viewop.Id);
  1377. if (op != null)
  1378. {
  1379. ids.Add(viewop.Id);
  1380. }
  1381. }
  1382. //获取本员工拥有的权限
  1383. var DBwhere = DBdata.Where(x => x.SmId == item.Id && x.UId == dto.Userid).ToList();
  1384. viewData.Add(new
  1385. {
  1386. Id = item.Id,
  1387. Mid = item.Mid,
  1388. Name = item.Name,
  1389. SystemMenuCode = item.SystemMenuCode,
  1390. opList = ids,
  1391. selList = DBwhere.Select(x => x.FId)
  1392. });
  1393. }
  1394. return Ok(JsonView(200, "成功!", viewData));
  1395. }
  1396. /// <summary>
  1397. /// 保存员工权限
  1398. /// </summary>
  1399. /// <param name="dto"></param>
  1400. /// <returns></returns>
  1401. [HttpPost]
  1402. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  1403. public async Task<IActionResult> SaveUserAuth(SaveUserDto dto)
  1404. {
  1405. //获取所有关联页面
  1406. var Sys_SystemMenuAndFunction = _SystemMenuAndFunctionRepository.QueryDto<Sys_SystemMenuAndFunction, SystemMenuAndFunctionView>().ToList();
  1407. //获取用户当前模块所有启用页面
  1408. var userpageList = _SystemMenuPermissionRepository._sqlSugar.SqlQueryable<Sys_UserAuthority>($@"
  1409. select a.* from Sys_UserAuthority a, Sys_SetData b ,Sys_SystemMenuPermission c
  1410. where a.SmId = c.Id and c.Mid = b.Id and uid = {dto.uid} and c.Mid ={dto.Modulid}
  1411. ").ToList();
  1412. List<Sys_UserAuthority> adds = new List<Sys_UserAuthority>();
  1413. foreach (var item in dto.Savejobs)
  1414. {
  1415. foreach (var fid in item.FIds)
  1416. {
  1417. var whereobj = Sys_SystemMenuAndFunction.FirstOrDefault(x => x.FId == fid && x.SmId == item.SmId);
  1418. if (whereobj != null)
  1419. {
  1420. adds.Add(new Sys_UserAuthority
  1421. {
  1422. CreateTime = DateTime.Now,
  1423. CreateUserId = 235,
  1424. FId = fid,
  1425. UId = dto.uid,
  1426. SmId = item.SmId,
  1427. IsTemp = 0
  1428. });
  1429. }
  1430. }
  1431. }
  1432. _JobPostAuthorityRepository.BeginTran();
  1433. try
  1434. {
  1435. List<Sys_UserAuthority> userAuth = null;
  1436. //删除个人级岗位权限
  1437. bool isdel = await _UserAuthorityRepository.DeletesAsync<Sys_UserAuthority>(userpageList);
  1438. userAuth = adds.Select(x => new Sys_UserAuthority
  1439. {
  1440. CreateTime = DateTime.Now,
  1441. CreateUserId = 235,
  1442. FId = x.FId,
  1443. SmId = x.SmId,
  1444. UId = dto.uid,
  1445. IsTemp = 0,
  1446. }).ToList();
  1447. //添加个人级别岗位
  1448. int AddRows = _UserAuthorityRepository.Adds<Sys_UserAuthority>(userAuth);
  1449. }
  1450. catch (Exception ex)
  1451. {
  1452. _JobPostAuthorityRepository.RollbackTran();
  1453. return Ok(JsonView("系统错误!"));
  1454. }
  1455. _JobPostAuthorityRepository.CommitTran();
  1456. return Ok(JsonView(200, "成功", new { }));
  1457. }
  1458. #endregion
  1459. #region 页面配置
  1460. /// <summary>
  1461. /// 页面配置界面数据初始化
  1462. /// </summary>
  1463. /// <returns></returns>
  1464. //[Authorize]
  1465. [HttpPost]
  1466. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  1467. public async Task<IActionResult> PageConfigInit()
  1468. {
  1469. ArrayList arr = new ArrayList();
  1470. var viewList = await _setDataRepository.GetSetDataAndPageInfoBySTId();
  1471. if (viewList.Code != 0)
  1472. {
  1473. return Ok(JsonView(viewList.Msg));
  1474. }
  1475. var ModList = await _setDataRepository.GetSySDefultModule();
  1476. return Ok(JsonView(new
  1477. {
  1478. viewList,
  1479. ModList,
  1480. }));
  1481. }
  1482. [HttpPost]
  1483. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  1484. public async Task<IActionResult> EditPageInfo(SetDataAndPageInfoView dto)
  1485. {
  1486. JsonView view = null;
  1487. _SystemMenuPermissionRepository.BeginTran();
  1488. var istrue = await _SystemMenuPermissionRepository.UpdateAsync(x=>x.Id == dto.Pageid ,x=> new Sys_SystemMenuPermission
  1489. {
  1490. AndroidUrl = dto.AndroidUrl,
  1491. CreateTime = DateTime.Now,
  1492. Icon = dto.Icon,
  1493. IosUrl = dto.IosUrl,
  1494. Name = dto.PageName,
  1495. PhoneIsEnable = dto.PagePhoneIsEnable,
  1496. CreateUserId = 235,
  1497. IsDel = 0,
  1498. IsEnable = dto.PageIsEnable,
  1499. Mid = dto.Modulid,
  1500. Remark = dto.PageRemark,
  1501. SystemMenuCode = dto.SystemMenuCode,
  1502. WebUrl = dto.WebUrl,
  1503. });
  1504. if (istrue)
  1505. {
  1506. //删除页面绑定的操作后重新绑定
  1507. await _SystemMenuAndFunctionRepository.DeleteAsync(x => x.SmId == dto.Pageid);
  1508. List<Sys_SystemMenuAndFunction> binFun = new List<Sys_SystemMenuAndFunction>();
  1509. foreach (var item in dto.FunArr)
  1510. {
  1511. binFun.Add(new Sys_SystemMenuAndFunction
  1512. {
  1513. CreateTime = DateTime.Now,
  1514. CreateUserId = 235,
  1515. FId = item,
  1516. SmId = dto.Pageid,
  1517. IsDel = 0,
  1518. });
  1519. }
  1520. int number = _SystemMenuAndFunctionRepository.Adds<Sys_SystemMenuAndFunction>(binFun);
  1521. view = JsonView(istrue);
  1522. _SystemMenuPermissionRepository.CommitTran();
  1523. }
  1524. else
  1525. {
  1526. _SystemMenuPermissionRepository.RollbackTran();
  1527. view = JsonView("添加失败");
  1528. }
  1529. return Ok(view);
  1530. }
  1531. /// <summary>
  1532. /// 添加一个页面
  1533. /// </summary>
  1534. /// <param name="dto"></param>
  1535. /// <returns></returns>
  1536. [HttpPost]
  1537. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  1538. public async Task<IActionResult> AddPageInfo(SetDataAndPageInfoView dto)
  1539. {
  1540. JsonView view = null;
  1541. _SystemMenuPermissionRepository.BeginTran();
  1542. int number = await _SystemMenuPermissionRepository.AddAsyncReturnId(new Sys_SystemMenuPermission
  1543. {
  1544. AndroidUrl = dto.AndroidUrl,
  1545. CreateTime = DateTime.Now,
  1546. Icon = dto.Icon,
  1547. IosUrl = dto.IosUrl,
  1548. Name = dto.PageName,
  1549. PhoneIsEnable = dto.PagePhoneIsEnable,
  1550. CreateUserId = 235,
  1551. IsDel = 0,
  1552. IsEnable = dto.PageIsEnable,
  1553. Mid = dto.Modulid,
  1554. Remark = dto.PageRemark,
  1555. SystemMenuCode = dto.SystemMenuCode,
  1556. WebUrl = dto.WebUrl,
  1557. });
  1558. List<Sys_SystemMenuAndFunction> binFun = new List<Sys_SystemMenuAndFunction>();
  1559. foreach (var item in dto.FunArr)
  1560. {
  1561. binFun.Add(new Sys_SystemMenuAndFunction
  1562. {
  1563. CreateTime = DateTime.Now,
  1564. CreateUserId = 235,
  1565. FId = item,
  1566. SmId = number,
  1567. IsDel = 0,
  1568. });
  1569. }
  1570. number = _SystemMenuAndFunctionRepository.Adds<Sys_SystemMenuAndFunction>(binFun);
  1571. if (number > 0)
  1572. {
  1573. view = JsonView(number);
  1574. _SystemMenuPermissionRepository.CommitTran();
  1575. }
  1576. else
  1577. {
  1578. _SystemMenuPermissionRepository.RollbackTran();
  1579. view = JsonView("添加失败");
  1580. }
  1581. return Ok(view);
  1582. }
  1583. /// <summary>
  1584. /// 删除页面
  1585. /// </summary>
  1586. /// <param></param>
  1587. /// <returns></returns>
  1588. [HttpPost]
  1589. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  1590. public async Task<IActionResult> DelPageInfo(List<SystemMenuDelDto> Dto)
  1591. {
  1592. JsonView view = new JsonView();
  1593. if (Dto.Count > 0)
  1594. {
  1595. try
  1596. {
  1597. _SystemMenuPermissionRepository.BeginTran();
  1598. bool istrue = false;
  1599. foreach (var item in Dto)
  1600. {
  1601. istrue = await _SystemMenuPermissionRepository.SoftDeleteAsync(item.Pageid.ToString());
  1602. if (!istrue)
  1603. {
  1604. throw new Exception("修改失败");
  1605. }
  1606. }
  1607. view.Code = 200;
  1608. view.Msg = "删除成功!";
  1609. view.Data = istrue;
  1610. _SystemMenuPermissionRepository.CommitTran();
  1611. }
  1612. catch (Exception)
  1613. {
  1614. _SystemMenuPermissionRepository.RollbackTran();
  1615. }
  1616. }
  1617. return Ok(JsonView(view));
  1618. }
  1619. /// <summary>
  1620. /// 获取页面绑定的操作
  1621. /// </summary>
  1622. /// <param name="Dto"></param>
  1623. /// <returns></returns>
  1624. [HttpPost]
  1625. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  1626. public async Task<IActionResult> QueryPageFunById(PageFunDto Dto)
  1627. {
  1628. //页面与操作关联表
  1629. var pageAndFunList = _SystemMenuAndFunctionRepository.QueryDto<Sys_SystemMenuAndFunction, SystemMenuAndFunctionView>().ToList();
  1630. //页面功能表
  1631. var pageFunList = _PageFunctionPermissionRepository.QueryDto<Sys_PageFunctionPermission, Sys_PageFunctionPermission>(x => x.IsEnable == 1).ToList();
  1632. ArrayList arr = new ArrayList();
  1633. foreach (var item in pageFunList)
  1634. {
  1635. var FindVal = pageAndFunList.Find(x => x.SmId == Dto.Pageid && x.FId == item.Id);
  1636. if (FindVal == null)
  1637. {
  1638. arr.Add(new
  1639. {
  1640. id = item.Id,
  1641. name = item.FunctionName,
  1642. value =false
  1643. });
  1644. }
  1645. else
  1646. {
  1647. arr.Add( new {
  1648. id = item.Id,
  1649. name = item.FunctionName,
  1650. value = true
  1651. });
  1652. }
  1653. }
  1654. return Ok(JsonView(arr));
  1655. }
  1656. #endregion
  1657. #region 页面操作
  1658. /// <summary>
  1659. /// 操作权限功能表
  1660. /// </summary>
  1661. /// <returns></returns>
  1662. [HttpPost]
  1663. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  1664. public async Task<IActionResult> PageFunInit()
  1665. {
  1666. try
  1667. {
  1668. var PageFunInit = _PageFunctionPermissionRepository.QueryDto<Sys_PageFunctionPermission, PageFunctionPermissionView>().ToList();
  1669. if (PageFunInit == null)
  1670. {
  1671. return Ok(JsonView(false, "暂无数据!"));
  1672. }
  1673. return Ok(JsonView(true, "查询成功!", PageFunInit));
  1674. }
  1675. catch (Exception ex)
  1676. {
  1677. return Ok(JsonView(false, "程序错误!"));
  1678. throw;
  1679. }
  1680. }
  1681. /// <summary>
  1682. /// 操作权限功能表操作(Status 1:添加,2:编辑)
  1683. /// </summary>
  1684. /// <returns></returns>
  1685. [HttpPost]
  1686. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  1687. public async Task<IActionResult> OperationFun(OperationFunInitDta dto)
  1688. {
  1689. try
  1690. {
  1691. Result result = await _PageFunctionPermissionRepository.OperationFunInit(dto);
  1692. if (result.Code != 0)
  1693. {
  1694. return Ok(JsonView(false, result.Msg));
  1695. }
  1696. return Ok(JsonView(true, result.Msg));
  1697. }
  1698. catch (Exception ex)
  1699. {
  1700. return Ok(JsonView(false, "程序错误!"));
  1701. throw;
  1702. }
  1703. }
  1704. /// <summary>
  1705. /// 删除功能
  1706. /// </summary>
  1707. /// <param name="dto"></param>
  1708. /// <returns></returns>
  1709. [HttpPost]
  1710. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  1711. public async Task<IActionResult> DelFun(DelFunInitDta dto)
  1712. {
  1713. try
  1714. {
  1715. var res = await _PageFunctionPermissionRepository.SoftDeleteByIdAsync<Sys_PageFunctionPermission>(dto.Id.ToString(), dto.DeleteUserId);
  1716. if (!res)
  1717. {
  1718. return Ok(JsonView(false, "删除失败"));
  1719. }
  1720. return Ok(JsonView(true, "删除成功!"));
  1721. }
  1722. catch (Exception ex)
  1723. {
  1724. return Ok(JsonView(false, "程序错误!"));
  1725. }
  1726. }
  1727. #endregion
  1728. }
  1729. }