颐和api

CusAuthManageController.cs 27KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Reflection;
  5. using System.Security.Claims;
  6. using System.Threading.Tasks;
  7. using MadRunFabric.Common;
  8. using MadRunFabric.Model.WorkOrderApi;
  9. using Microsoft.AspNetCore.Authorization;
  10. using Microsoft.AspNetCore.Mvc;
  11. using Microsoft.Extensions.Configuration;
  12. using Microsoft.Extensions.Logging;
  13. using MongoDB.Driver;
  14. using WorkOrderApi.Areas.Hy_Order.Input;
  15. using WorkOrderApi.IRepositories;
  16. namespace WorkOrderApi.Areas.Hy_Order.Controllers
  17. {
  18. /// <summary>
  19. /// 客户授权管理
  20. /// </summary>
  21. [Area("hy")]
  22. [Authorize]
  23. [ApiVersion("6.0")]
  24. [Route("api/[controller]")]
  25. [Produces("application/json")]
  26. public class CusAuthManageController : BaseController
  27. {
  28. private readonly ILogger<CusAuthManageController> _logger;
  29. private readonly ICus_AuthManageRepository _cus_authmanageRepository;
  30. private readonly IConfiguration _configuration;
  31. private readonly ICus_AuthOrderRepository _cus_authorderRepository;
  32. private readonly IBus_Msg_ListRepository _bus_msg_listRepository;
  33. public CusAuthManageController(
  34. ILogger<CusAuthManageController> logger,
  35. ICus_AuthManageRepository cus_authmanageRepository,
  36. IConfiguration configuration,
  37. IBus_Msg_ListRepository bus_msg_listRepository,
  38. ICus_AuthOrderRepository cus_authorderRepository
  39. )
  40. {
  41. _logger = logger;
  42. _cus_authmanageRepository = cus_authmanageRepository;
  43. _configuration = configuration;
  44. _bus_msg_listRepository = bus_msg_listRepository;
  45. _cus_authorderRepository = cus_authorderRepository;
  46. }
  47. /// <summary>
  48. /// 获取基础数据列表
  49. /// </summary>
  50. /// <param name="filter"></param>
  51. /// <returns></returns>
  52. [Authorize]
  53. [HttpGet("getlistbypage")]
  54. public async Task<IActionResult> GetListsByPage(string pro_name,string auth_type,string oem_name,string stime,string etime,string progress,string smanager,string pexecutor,string pmanager,string fmanager, string value, string code,int isend=-1, int pageindex = 1, int pagesize = 10)
  55. {
  56. try
  57. {
  58. //排序字段
  59. var sort = Builders<Cus_AuthManage>.Sort.Descending("createtime");
  60. //根据条件查询集合
  61. var flist = new List<FilterDefinition<Cus_AuthManage>>();
  62. flist.Add(Builders<Cus_AuthManage>.Filter.Eq("isdelete", 0));
  63. if (!string.IsNullOrWhiteSpace(pro_name))
  64. flist.Add(Builders<Cus_AuthManage>.Filter.Where(s => s.pro_name.Equals (pro_name)));
  65. if (!string.IsNullOrWhiteSpace(auth_type))
  66. flist.Add(Builders<Cus_AuthManage>.Filter.Where(s => s.auth_type.Equals(auth_type)));
  67. if (!string.IsNullOrWhiteSpace(oem_name))
  68. flist.Add(Builders<Cus_AuthManage>.Filter.Where(s => s.oem_name.Equals(oem_name)));
  69. if (!string.IsNullOrEmpty(stime))
  70. {
  71. DateTime dt = DateTime.Parse(stime);
  72. if (DateTime.TryParse(dt.ToString("yyyy-MM-dd") + " 00:00:00", out dt))
  73. flist.Add(Builders<Cus_AuthManage>.Filter.Gt("authendtime", dt));
  74. }
  75. if (!string.IsNullOrEmpty(stime))
  76. {
  77. DateTime dt = DateTime.Parse(stime);
  78. if (DateTime.TryParse(dt.ToString("yyyy-MM-dd") + " 23:59:59", out dt))
  79. flist.Add(Builders<Cus_AuthManage>.Filter.Lt("authendtime", dt));
  80. }
  81. if (!string.IsNullOrWhiteSpace(progress ))
  82. flist.Add(Builders<Cus_AuthManage>.Filter.Where(s => s.pro_progress .Equals(progress)));
  83. if (!string.IsNullOrWhiteSpace(smanager))
  84. flist.Add(Builders<Cus_AuthManage>.Filter.Where(s => s.sale_manager .Equals(smanager)));
  85. if (!string.IsNullOrWhiteSpace(pexecutor))
  86. flist.Add(Builders<Cus_AuthManage>.Filter.Where(s => s.pro_executor .Equals(pexecutor)));
  87. if (!string.IsNullOrWhiteSpace(pmanager))
  88. flist.Add(Builders<Cus_AuthManage>.Filter.Where(s => s.product_manager .Equals(pmanager)));
  89. if (isend >-1)
  90. flist.Add(Builders<Cus_AuthManage>.Filter.Eq("isend", isend ));
  91. var filter = Builders<Cus_AuthManage>.Filter.And(flist);
  92. var list = await _cus_authmanageRepository.GetByPage(filter, pageindex, pagesize, sort);
  93. var count = await _cus_authmanageRepository.CountAsync(filter);
  94. var obj = new
  95. {
  96. state = "success",
  97. message = "根据条件获取分页数据成功",
  98. rows = list,
  99. total = count,
  100. };
  101. return Content(obj.ToJson());
  102. //return Success("根据条件获取分页数据成功", list);
  103. }
  104. catch (Exception ex)
  105. {
  106. _logger.LogError(ex, "获取基础数据分页数据异常");
  107. return Error("获取基础数据分页数据失败");
  108. }
  109. }
  110. /// <summary>
  111. /// 添加授权信息
  112. /// </summary>
  113. [HttpPost("add")]
  114. public async Task<IActionResult> AddAsync(CusAuthManageInput input)
  115. {
  116. string usercode = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
  117. string username = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Name).Value;
  118. try
  119. {
  120. var model = new Cus_AuthManage();
  121. #region model 添加客户对象
  122. //model.id = cusid;
  123. model.pro_name = input.pro_name;
  124. model.auth_type = input.auth_type;
  125. model.oem_name = input.oem_name;
  126. model.authendtime = input.authendtime;
  127. model.auth_code = input.auth_code;
  128. model.auth_num = input.auth_num;
  129. model.pro_progress = input.pro_progress;
  130. model.sale_manager = input.sale_manager;
  131. model.pro_executor = input.pro_executor;
  132. model.product_manager = input.product_manager;
  133. model.finance_manager = input.finance_manager;
  134. model.general_manager = input.general_manager;
  135. model.isend = input.isend;
  136. model.content = input.content;
  137. model.createtime = DateTime.Now;
  138. model.createuser = usercode;
  139. model.createusername = username;
  140. #endregion
  141. string customerid = await _cus_authmanageRepository.AddRetID(model);
  142. if (!string.IsNullOrEmpty(customerid))
  143. {
  144. return Success("保存成功");
  145. }
  146. else
  147. return Error("保存失败");
  148. }
  149. catch (Exception ex)
  150. {
  151. return Error(ex.Message);
  152. }
  153. }
  154. /// <summary>
  155. /// 修改授权信息
  156. /// </summary>
  157. [HttpPost("update")]
  158. public async Task<IActionResult> UpdateAsync(CusAuthManageInput input)
  159. {
  160. string usercode = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
  161. string username = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Name).Value;
  162. var model = (await _cus_authmanageRepository.Get(p => p.id == input.id)).FirstOrDefault();
  163. if (model != null)
  164. {
  165. #region model 客户对象
  166. model.pro_name = input.pro_name;
  167. model.auth_type = input.auth_type;
  168. model.oem_name = input.oem_name;
  169. model.authendtime = input.authendtime;
  170. model.auth_code = input.auth_code;
  171. model.auth_num = input.auth_num;
  172. model.pro_progress = input.pro_progress;
  173. model.sale_manager = input.sale_manager;
  174. model.pro_executor = input.pro_executor;
  175. model.product_manager = input.product_manager;
  176. model.finance_manager = input.finance_manager;
  177. model.general_manager = input.general_manager;
  178. model.isend = input.isend;
  179. model.content = input.content;
  180. model.createtime = DateTime.Now;
  181. model.createuser = usercode;
  182. model.createusername = username;
  183. #endregion
  184. bool b = await _cus_authmanageRepository.UpdateOne(model);
  185. if (b)
  186. {
  187. return Success("保存成功");
  188. }
  189. else
  190. return Error("保存失败");
  191. }
  192. return Error("参数错误");
  193. }
  194. /// <summary>
  195. /// 删除授权信息
  196. /// </summary>
  197. /// <param name="ids"></param>
  198. /// <returns></returns>
  199. [HttpPost("delete")]
  200. public async Task<IActionResult> DeleteAsync(string[] ids)
  201. {
  202. string usercode = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
  203. string username = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Name).Value;
  204. //使用逻辑删除
  205. var res = 0;
  206. if (ids != null && ids.Length > 0)
  207. {
  208. foreach (var id in ids)
  209. {
  210. var model = await _cus_authmanageRepository.GetSingle(id);
  211. model.isdelete = 1;
  212. model.deleteuser = usercode;
  213. model.deletetime = DateTime.Now;
  214. if (await _cus_authmanageRepository.UpdateOne(model))
  215. {
  216. res += 1;
  217. }
  218. }
  219. if (res == ids.Length)
  220. return Success("删除成功");
  221. else if (res > 0 && res < ids.Length)
  222. return Error("部分删除失败");
  223. else
  224. return Error("删除失败");
  225. }
  226. else
  227. return Error("请选择要删除的记录");
  228. }
  229. /// <summary>
  230. /// 获取授权到期提醒
  231. /// </summary>
  232. /// <param name="daykind"></param>
  233. /// <returns></returns>
  234. [Authorize]
  235. [HttpGet("gettxlist")]
  236. public async Task<IActionResult> GetListAsync(int daykind = 0)//到期前一月或前几天提醒
  237. {
  238. #region 条件信息
  239. var listfilter = new List<FilterDefinition<Cus_AuthManage>>();
  240. DateTime dtstart = DateTime.Now;
  241. var sort = Builders<Cus_AuthManage>.Sort.Descending("authendtime");
  242. var list = await _cus_authmanageRepository.Get(null, null, sort);
  243. switch (daykind)
  244. {
  245. case 0://到期前15天到期时间减去现在时间大于0小于等于30
  246. DateTime dtend = dtstart.AddDays(15);
  247. DateTime dt = DateTime.Now.ToLocalTime();
  248. if (DateTime.TryParse(dtstart.ToString("yyyy-MM-dd") + " 00:00:00", out dt))
  249. listfilter.Add(Builders<Cus_AuthManage>.Filter.Gt("authendtime", dt));
  250. if (DateTime.TryParse(dtend.ToString("yyyy-MM-dd") + " 23:59:59", out dt))
  251. listfilter.Add(Builders<Cus_AuthManage>.Filter.Lt("authendtime", dt));
  252. var filter = Builders<Cus_AuthManage>.Filter.And(listfilter);
  253. list = await _cus_authmanageRepository.Get(filter, null, sort);
  254. break;
  255. case 1://到期当天
  256. DateTime dtend1 = dtstart;
  257. DateTime dt1 = DateTime.Now.ToLocalTime();
  258. if (DateTime.TryParse(dtstart.ToString("yyyy-MM-dd") + " 00:00:00", out dt1))
  259. listfilter.Add(Builders<Cus_AuthManage>.Filter.Gt("authendtime", dt1));
  260. if (DateTime.TryParse(dtend1.ToString("yyyy-MM-dd") + " 23:59:59", out dt1))
  261. listfilter.Add(Builders<Cus_AuthManage>.Filter.Lt("authendtime", dt1));
  262. var filter1 = Builders<Cus_AuthManage>.Filter.And(listfilter);
  263. list = await _cus_authmanageRepository.Get(filter1, null, sort);
  264. break;
  265. default:
  266. break;
  267. }
  268. #endregion
  269. var obj = new
  270. {
  271. data = list
  272. };
  273. return Success("成功", obj);
  274. }
  275. //导入授权信息
  276. /// <summary>
  277. /// 上传文件并导入数据库
  278. /// </summary>
  279. /// <returns></returns>
  280. [HttpPost("importexcel")]
  281. public async Task<IActionResult> ImportExcel(int headrow = 0)
  282. {
  283. string usercode = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
  284. string username = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Name).Value;
  285. //if (string.IsNullOrEmpty(taskid))
  286. // return Error("任务id不能为空");
  287. //string usercode = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
  288. Microsoft.AspNetCore.Http.IFormFile _upfile = Request.Form.Files[0];
  289. if (!_upfile.ContentType.Equals("application/vnd.ms-excel") && !_upfile.ContentType.Equals("application/x-xls") && !_upfile.ContentType.Equals("application/x-xlsx") && !_upfile.ContentType.Equals("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") && !_upfile.ContentType.Equals("application/octet-stream"))
  290. return Error($"请正确上传Excel文件:file.ContentType={_upfile.ContentType}");
  291. NPOIHelper npoi = new NPOIHelper();
  292. var dtExcel = npoi.ExcelToTable1(_upfile, headrow);
  293. int num = dtExcel.Rows.Count;
  294. var cols = dtExcel.Columns;
  295. int colnum = cols.Count;
  296. string dbkeys = _configuration["upload:sqdbkeys"].ToString();
  297. string[] dbcols = dbkeys.Split(",");
  298. string errmsg = string.Empty;
  299. if (num > 0)
  300. {
  301. int index = 1;
  302. foreach (System.Data.DataRow dr in dtExcel.Rows)
  303. {
  304. var model = new Cus_AuthManage();
  305. model.createuser = usercode;
  306. model.createusername = username;
  307. //model.cusname = dr.cusname;
  308. //model.phone = dr.phone;
  309. //model.cusaddr = dr.cusaddr;
  310. model.createtime = DateTime.Now.ToLocalTime();
  311. var dbcolslist = dbcols.ToList();
  312. Type t = model.GetType();
  313. PropertyInfo[] PropertyList = t.GetProperties();
  314. foreach (PropertyInfo item in PropertyList)
  315. {
  316. if (dbcolslist.Contains(item.Name))
  317. {
  318. object v = Convert.ChangeType(dr[dbcolslist.IndexOf(item.Name)].ToString(), item.PropertyType);
  319. item.SetValue(model, v, null);
  320. }
  321. }
  322. bool b = await _cus_authmanageRepository.Add(model);
  323. if (!b)
  324. {
  325. if (!string.IsNullOrEmpty(errmsg))
  326. {
  327. errmsg = errmsg + "\r\n第" + index + "行导入失败!";
  328. }
  329. else
  330. {
  331. errmsg = "第" + index + "行导入失败!";
  332. }
  333. }
  334. index++;
  335. }
  336. }
  337. else
  338. {
  339. return Error("文件中无数据");
  340. }
  341. if (!string.IsNullOrEmpty(errmsg))
  342. {
  343. //删除已导入的部分
  344. return Error(errmsg);
  345. }
  346. return Success("导入成功");
  347. }
  348. /// <summary>
  349. /// 获取详情
  350. /// </summary>
  351. [HttpGet("getsingle")]
  352. public async Task<IActionResult> GetSingleAsync(string id)
  353. {
  354. var cls = await _cus_authmanageRepository.Get(p => p.id == id && p.isdelete == 0);
  355. var clmodel = cls.FirstOrDefault();
  356. if (clmodel != null)
  357. {
  358. return Success("获取成功", clmodel);
  359. }
  360. else
  361. return Error("获取失败");
  362. }
  363. //申请续期
  364. /// <summary>
  365. /// 添加授权续期申请
  366. /// </summary>
  367. [HttpPost("addsq")]
  368. public async Task<IActionResult> AddSQAsync(string proid, string proname,string content,string authtype,string authendtime,int infotype=0)
  369. {
  370. string usercode = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
  371. string username = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Name).Value;
  372. var model = new Cus_AuthOrder();
  373. #region model 添加工单对象
  374. model.pro_id = proid;
  375. model.pro_name = proname;
  376. model.content = content;
  377. model.auth_type = authtype;
  378. model.authendtime = DateTime.Parse (authendtime);
  379. model.infotype = infotype;
  380. model.createuser = usercode;
  381. model.createtime = DateTime.Now;
  382. model.isdelete = 0;
  383. #endregion
  384. bool bl = await _cus_authorderRepository.Add(model);
  385. if (bl)
  386. {
  387. string mes = "";
  388. if (infotype == 1)
  389. {
  390. mes = usercode + "(" + username + ") 发起授权续期申请";
  391. }
  392. else if (infotype == 2)
  393. {
  394. mes = usercode + "(" + username + ") 创建授权续期任务";
  395. }
  396. else if (infotype == 3)
  397. {
  398. mes = usercode + "(" + username + ") 创建项目开启任务";
  399. }
  400. else if (infotype == 4)
  401. {
  402. mes = usercode + "(" + username + ") 创建项目暂停任务";
  403. }
  404. AddItems(proid, mes, usercode, username);
  405. return Success("保存成功");
  406. }
  407. else
  408. return Error("保存失败");
  409. }
  410. /// <summary>
  411. /// 获取基础数据列表
  412. /// </summary>
  413. /// <param name="filter"></param>
  414. /// <returns></returns>
  415. [Authorize]
  416. [HttpGet("getsqlistbypage")]
  417. public async Task<IActionResult> GetSQListsByPage(string pro_name, string auth_type, string stime, string etime, string createuser,int infotype=-1, int state = -1, int pageindex = 1, int pagesize = 10)
  418. {
  419. try
  420. {
  421. //排序字段
  422. var sort = Builders<Cus_AuthOrder>.Sort.Descending("createtime");
  423. //根据条件查询集合
  424. var flist = new List<FilterDefinition<Cus_AuthOrder>>();
  425. flist.Add(Builders<Cus_AuthOrder>.Filter.Eq("isdelete", 0));
  426. if (!string.IsNullOrWhiteSpace(pro_name))
  427. flist.Add(Builders<Cus_AuthOrder>.Filter.Where(s => s.pro_name.Equals(pro_name)));
  428. if (!string.IsNullOrWhiteSpace(auth_type))
  429. flist.Add(Builders<Cus_AuthOrder>.Filter.Where(s => s.auth_type.Equals(auth_type)));
  430. if (!string.IsNullOrWhiteSpace(createuser))
  431. flist.Add(Builders<Cus_AuthOrder>.Filter.Where(s => s.createuser.Equals(createuser)));
  432. if (infotype > -1)
  433. {
  434. flist.Add(Builders<Cus_AuthOrder>.Filter.Eq("infotype", infotype));
  435. }
  436. if (state > -1)
  437. {
  438. flist.Add(Builders<Cus_AuthOrder>.Filter.Eq("state", state));
  439. }
  440. if (!string.IsNullOrEmpty(stime))
  441. {
  442. DateTime dt = DateTime.Parse(stime);
  443. if (DateTime.TryParse(dt.ToString("yyyy-MM-dd") + " 00:00:00", out dt))
  444. flist.Add(Builders<Cus_AuthOrder>.Filter.Gt("createtime", dt));
  445. }
  446. if (!string.IsNullOrEmpty(stime))
  447. {
  448. DateTime dt = DateTime.Parse(stime);
  449. if (DateTime.TryParse(dt.ToString("yyyy-MM-dd") + " 23:59:59", out dt))
  450. flist.Add(Builders<Cus_AuthOrder>.Filter.Lt("createtime", dt));
  451. }
  452. var filter = Builders<Cus_AuthOrder>.Filter.And(flist);
  453. var list = await _cus_authorderRepository.GetByPage(filter, pageindex, pagesize, sort);
  454. var count = await _cus_authorderRepository.CountAsync(filter);
  455. var obj = new
  456. {
  457. state = "success",
  458. message = "根据条件获取分页数据成功",
  459. rows = list,
  460. total = count,
  461. };
  462. return Content(obj.ToJson());
  463. //return Success("根据条件获取分页数据成功", list);
  464. }
  465. catch (Exception ex)
  466. {
  467. _logger.LogError(ex, "获取基础数据分页数据异常");
  468. return Error("获取基础数据分页数据失败");
  469. }
  470. }
  471. //添加操作记录
  472. private async void AddItems(string pro_id, string detail, string usercode, string username)
  473. {
  474. var model = new Bus_Msg_List();
  475. model.ordercode = pro_id;
  476. model.createuser = usercode;
  477. model.createusername = username;
  478. model.createtime = DateTime.Now;
  479. model.detail = detail;
  480. await _bus_msg_listRepository.Add(model);
  481. }
  482. /// <summary>
  483. /// 获取授权申请动态
  484. /// </summary>
  485. [HttpGet("getdt")]
  486. public async Task<IActionResult> GetDTAsync(string proid)
  487. {
  488. var cls = await _bus_msg_listRepository.Get(p => p.ordercode == proid && p.isdelete == 0);
  489. if (cls != null)
  490. {
  491. return Success("获取成功", cls);
  492. }
  493. else
  494. return Error("获取失败");
  495. }
  496. /// <summary>
  497. /// 修改授权信息
  498. /// </summary>
  499. [HttpPost("updatesq")]
  500. public async Task<IActionResult> UpdateSQAsync(string id,string proid, string proname, string content, string authtype, string authendtime)
  501. {
  502. string usercode = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
  503. string username = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Name).Value;
  504. var model = (await _cus_authorderRepository.Get(p => p.id ==id)).FirstOrDefault();
  505. if (model != null)
  506. {
  507. #region model 添加对象
  508. model.pro_id = proid;
  509. model.pro_name = proname;
  510. model.content = content;
  511. model.auth_type = authtype;
  512. model.authendtime = DateTime.Parse(authendtime);
  513. model.createuser = usercode;
  514. model.createtime = DateTime.Now;
  515. model.isdelete = 0;
  516. #endregion
  517. bool b = await _cus_authorderRepository.UpdateOne(model);
  518. if (b)
  519. {
  520. return Success("保存成功");
  521. }
  522. else
  523. return Error("保存失败");
  524. }
  525. return Error("参数错误");
  526. }
  527. /// <summary>
  528. /// 删除授权信息
  529. /// </summary>
  530. /// <param name="ids"></param>
  531. /// <returns></returns>
  532. [HttpPost("deletesq")]
  533. public async Task<IActionResult> DeleteSQAsync(string[] ids)
  534. {
  535. string usercode = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
  536. string username = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Name).Value;
  537. //使用逻辑删除
  538. var res = 0;
  539. if (ids != null && ids.Length > 0)
  540. {
  541. foreach (var id in ids)
  542. {
  543. var model = await _cus_authorderRepository.GetSingle(id);
  544. model.isdelete = 1;
  545. model.deleteuser = usercode;
  546. model.deletetime = DateTime.Now;
  547. if (await _cus_authorderRepository.UpdateOne(model))
  548. {
  549. res += 1;
  550. }
  551. }
  552. if (res == ids.Length)
  553. return Success("删除成功");
  554. else if (res > 0 && res < ids.Length)
  555. return Error("部分删除失败");
  556. else
  557. return Error("删除失败");
  558. }
  559. else
  560. return Error("请选择要删除的记录");
  561. }
  562. //操作,通过、撤回、确认续期
  563. /// <summary>
  564. /// 操作授权信息
  565. /// </summary>
  566. /// <param name="ids"></param>
  567. /// <returns></returns>
  568. [HttpPost("deal")]
  569. public async Task<IActionResult> DealAsync(string id, int state = 0)
  570. {
  571. string usercode = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
  572. string username = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Name).Value;
  573. var model = await _cus_authorderRepository.GetSingle(id);
  574. model.state = state;
  575. model.deleteuser = usercode;
  576. model.deletetime = DateTime.Now;
  577. if (await _cus_authorderRepository.UpdateOne(model))
  578. {
  579. string mes = "";
  580. if (state == 5)
  581. {
  582. mes = usercode + "(" + username + ") 撤回授权续期申请";
  583. }
  584. else if (state == 6)
  585. {
  586. mes = usercode + "(" + username + ") 审批通过授权续期申请";
  587. }
  588. else if (state == 7)
  589. {
  590. mes = usercode + "(" + username + ") 确认已续期";
  591. }
  592. else if (state == 8)
  593. {
  594. mes = usercode + "(" + username + ") 确认已暂停";
  595. }
  596. else if (state == 7)
  597. {
  598. mes = usercode + "(" + username + ") 确认已开启";
  599. }
  600. AddItems(id, mes, usercode, username);
  601. return Success("操作成功");
  602. }
  603. else
  604. return Error("操作失败");
  605. }
  606. }
  607. }