足力健后端,使用.netcore版本,合并1个项目使用

DistributionController.cs 34KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Common;
  4. using System.IRepositories;
  5. using System.IRepositories.Call;
  6. using System.Linq;
  7. using System.Model;
  8. using System.Threading.Tasks;
  9. using Microsoft.AspNetCore.Mvc;
  10. using SqlSugar;
  11. using System.Text.RegularExpressions;
  12. using System.Common.Helpers;
  13. using System.Security.Claims;
  14. using System.Data;
  15. namespace TVShoppingCallCenter_ZLJ.Controllers.CallCenter
  16. {
  17. [Route("api/[controller]")]
  18. public class DistributionController : BaseController
  19. {
  20. private readonly ICall_DistributionRepository call_DistributionRepository;
  21. private readonly ICus_VipInfoRepository _cus_vip_infoRepository;
  22. // private readonly ICall_CallRecordsRepository busCallRecordsRepository;
  23. private readonly ISys_UserAccountRepository sys_UserAccountRepository;
  24. private readonly ISys_MediaManagementRepository _sys_mediaManagement_Repository;
  25. private readonly ISys_DepartmentRepository _sys_departmentRepository;
  26. private readonly ISys_DeptTeamRepository _sys_deptteamRepository;
  27. public DistributionController(ICall_DistributionRepository _call_DistributionRepository, ICus_VipInfoRepository cus_vip_infoRepository,
  28. ICall_CallRecordsRepository _busCallRecordsRepository,
  29. ISys_UserAccountRepository _sys_UserAccountRepository,
  30. ISys_MediaManagementRepository sys_mediaManagement_Repository
  31. , ISys_DepartmentRepository sys_departmentRepository
  32. ,ISys_DeptTeamRepository sys_deptteamRepository)
  33. {
  34. call_DistributionRepository = _call_DistributionRepository;
  35. _cus_vip_infoRepository = cus_vip_infoRepository;
  36. // busCallRecordsRepository = _busCallRecordsRepository;
  37. sys_UserAccountRepository = _sys_UserAccountRepository;
  38. _sys_mediaManagement_Repository = sys_mediaManagement_Repository;
  39. _sys_departmentRepository = sys_departmentRepository;
  40. _sys_deptteamRepository = sys_deptteamRepository;
  41. }
  42. /// <summary>
  43. /// 添加
  44. /// </summary>
  45. /// <param name="input"></param>
  46. /// <returns></returns>
  47. [HttpPost("add")]
  48. public async Task<IActionResult> AddAsync(T_Call_Distribution input)
  49. {
  50. if (string.IsNullOrEmpty(input.F_Tel ))
  51. return Error("请输入联系电话");
  52. if (!valtel(input.F_Tel))
  53. return Error("号码必须为8位11位或者12位数字");
  54. var list = await _cus_vip_infoRepository.GetListALL(x => x.F_State == 1 && (x.F_Phone == input.F_Tel || x
  55. .F_Mobile.Contains(input.F_Tel)));
  56. input.F_CrateTime = DateTime.Now;
  57. input.F_CrateUser = UserLogin.UserCode;
  58. input.F_IsDelete = 0;
  59. if (list!=null && list.Count >0)
  60. {
  61. var user = await sys_UserAccountRepository.GetSingle (x => x.F_UserId == list[0].F_Saleperson.ObjToInt () );
  62. T_Cus_VipInfo vipInfo = new T_Cus_VipInfo();
  63. vipInfo.F_Name = "新客户";
  64. vipInfo.F_Phone = input.F_Tel;
  65. vipInfo.F_State = (int)EnumDelState.Enabled;
  66. vipInfo.F_CreateBy = UserLogin.UserId;
  67. vipInfo.F_CreateOn = DateTime.Now;
  68. vipInfo.F_Saleperson = user.F_UserId.ToString();
  69. vipInfo.F_Firstcalltime = DateTime.Now;
  70. vipInfo.F_Lastholetime = DateTime.Now;
  71. if (input.F_Media > 0)
  72. {
  73. vipInfo.F_Media = input.F_MediaName;
  74. vipInfo.F_MediaId = input.F_Media;
  75. }
  76. var res = await _cus_vip_infoRepository.Add(vipInfo);
  77. }
  78. else
  79. {
  80. if (input.F_Dept > 0)
  81. {
  82. input.F_OperationDept = UserLogin.UserCode;
  83. if (input.F_Team > 0)
  84. {
  85. input.F_OperationTeam = UserLogin.UserCode;
  86. if (input.F_Group > 0)
  87. {
  88. input.F_OperationGroup = UserLogin.UserCode;
  89. {
  90. if (!string.IsNullOrEmpty(input.F_Handler ))
  91. {
  92. var user = await sys_UserAccountRepository.GetListALL(x => x.F_UserCode == input.F_Handler
  93. && x.F_DeleteFlag == 0);
  94. if (user == null)
  95. return Error("分配人员不存在");
  96. input.F_OperationHandler = UserLogin.UserCode;
  97. T_Cus_VipInfo vipInfo = new T_Cus_VipInfo();
  98. vipInfo.F_Name = "新客户";
  99. vipInfo.F_Phone = input.F_Tel;
  100. vipInfo.F_State = (int)EnumDelState.Enabled;
  101. vipInfo.F_CreateBy = UserLogin.UserId;
  102. vipInfo.F_CreateOn = DateTime.Now;
  103. vipInfo.F_Saleperson = user[0].F_UserId.ToString();
  104. vipInfo.F_Firstcalltime = DateTime.Now;
  105. vipInfo.F_Lastholetime = DateTime.Now;
  106. if (input.F_Media > 0)
  107. {
  108. vipInfo.F_Media = input.F_MediaName;
  109. vipInfo.F_MediaId = input.F_Media;
  110. }
  111. var res = await _cus_vip_infoRepository.Add(vipInfo);
  112. }
  113. }
  114. }
  115. }
  116. input.F_AssignmentTime = DateTime.Now;
  117. }
  118. }
  119. if (await call_DistributionRepository.Add(input) > 0)
  120. {
  121. return Success("添加成功");
  122. }
  123. return Error("添加失败");
  124. }
  125. /// <summary>
  126. /// 修改
  127. /// </summary>
  128. /// <param name="input"></param>
  129. /// <returns></returns>
  130. [HttpPost("update")]
  131. public async Task<IActionResult> UpdateAsync(T_Call_Distribution input)
  132. {
  133. if (input.F_ID <=0)
  134. return Error("参数错误");
  135. if (string.IsNullOrEmpty(input.F_Tel))
  136. return Error("请输入联系电话");
  137. if (!valtel(input.F_Tel))
  138. return Error("号码必须为8位11位或者12位数字");
  139. var model = await call_DistributionRepository.GetSingle(x => x.F_ID == input.F_ID);
  140. if (model == null)
  141. return Error("操作失败");
  142. var list = await _cus_vip_infoRepository.GetListALL(x => x.F_State == 1 && (x.F_Phone == input.F_Tel || x
  143. .F_Mobile.Contains(input.F_Tel)));
  144. model.F_Tel = input.F_Tel;
  145. model.F_Name = input.F_Name;
  146. model.F_Media = input.F_Media;
  147. model.F_MediaName = input.F_MediaName;
  148. model.F_CrateTime = model.F_CrateTime;
  149. model.F_CrateUser = model.F_CrateUser;
  150. input.F_IsDelete = 0;
  151. if (list != null && list.Count > 0)
  152. {
  153. var user = await sys_UserAccountRepository.GetSingle(x => x.F_UserId == list[0].F_Saleperson.ObjToInt());
  154. T_Cus_VipInfo vipInfo = new T_Cus_VipInfo();
  155. vipInfo.F_Name = "新客户";
  156. vipInfo.F_Phone = input.F_Tel;
  157. vipInfo.F_State = (int)EnumDelState.Enabled;
  158. vipInfo.F_CreateBy = UserLogin.UserId;
  159. vipInfo.F_CreateOn = DateTime.Now;
  160. vipInfo.F_Saleperson = user.F_UserId.ToString();
  161. vipInfo.F_Firstcalltime = DateTime.Now;
  162. vipInfo.F_Lastholetime = DateTime.Now;
  163. if (input.F_Media > 0)
  164. {
  165. vipInfo.F_Media = input.F_MediaName;
  166. vipInfo.F_MediaId = input.F_Media;
  167. }
  168. var res = await _cus_vip_infoRepository.Add(vipInfo);
  169. }
  170. else
  171. {
  172. if (input.F_Dept > 0)
  173. {
  174. model.F_Dept = input.F_Dept;
  175. model.F_DeptName = input.F_DeptName;
  176. input.F_OperationDept = UserLogin.UserCode;
  177. if (input.F_Team > 0)
  178. {
  179. model.F_Team = input.F_Team;
  180. model.F_TeamName = input.F_TeamName;
  181. input.F_OperationTeam = UserLogin.UserCode;
  182. if (input.F_Group > 0)
  183. {
  184. model.F_Group = input.F_Group;
  185. model.F_GroupName = input.F_GroupName;
  186. input.F_OperationGroup = UserLogin.UserCode;
  187. {
  188. if (!string.IsNullOrEmpty(input.F_Handler))
  189. {
  190. var user = await sys_UserAccountRepository.GetListALL(x => x.F_UserCode == input.F_Handler
  191. && x.F_DeleteFlag == 0);
  192. if (user == null)
  193. return Error("分配人员不存在");
  194. input.F_OperationHandler = UserLogin.UserCode;
  195. T_Cus_VipInfo vipInfo = new T_Cus_VipInfo();
  196. vipInfo.F_Name = "新客户";
  197. vipInfo.F_Phone = input.F_Tel;
  198. vipInfo.F_State = (int)EnumDelState.Enabled;
  199. vipInfo.F_CreateBy = UserLogin.UserId;
  200. vipInfo.F_CreateOn = DateTime.Now;
  201. vipInfo.F_Saleperson = user[0].F_UserId.ToString();
  202. vipInfo.F_Firstcalltime = DateTime.Now;
  203. vipInfo.F_Lastholetime = DateTime.Now;
  204. if (input.F_Media > 0)
  205. {
  206. vipInfo.F_Media = input.F_MediaName;
  207. vipInfo.F_MediaId = input.F_Media;
  208. }
  209. var res = await _cus_vip_infoRepository.Add(vipInfo);
  210. }
  211. }
  212. }
  213. }
  214. input.F_AssignmentTime = DateTime.Now;
  215. }
  216. }
  217. if (await call_DistributionRepository.Update(model))
  218. {
  219. return Success("修改成功");
  220. }
  221. return Error("添加失败");
  222. }
  223. /// <summary>
  224. /// 上传文件并导入数据库
  225. /// </summary>
  226. /// <returns></returns>
  227. [HttpPost("importdistribution")]
  228. public async Task<IActionResult> importdistribution(int headrow = 0)
  229. {
  230. Microsoft.AspNetCore.Http.IFormFile _upfile = Request.Form.Files[0];
  231. 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"))
  232. return Error($"请正确上传Excel文件:file.ContentType={_upfile.ContentType}");
  233. NPOIHelper npoi = new NPOIHelper();
  234. var dtExcel = npoi.ExcelToTable1(_upfile, headrow);
  235. int num = dtExcel.Rows.Count;
  236. var cols = dtExcel.Columns;
  237. int colnum = cols.Count;
  238. string errmsg = string.Empty;
  239. List<T_Call_Distribution> logs = new List<T_Call_Distribution>();
  240. if (num > 0)
  241. {
  242. int index = 1;
  243. foreach (DataRow dr in dtExcel.Rows)
  244. {
  245. index++;
  246. T_Call_Distribution input = new T_Call_Distribution();
  247. if (dr.Table.Columns.Contains("待分配电话"))
  248. {
  249. if (!string.IsNullOrEmpty(dr["待分配电话"].ToString()))
  250. {
  251. if (!valtel(dr["待分配电话"].ToString()))
  252. {
  253. errmsg = errmsg + "\r\n第" + index + "行导入失败!号码必须为8位11位或者12位数字";
  254. continue;
  255. }
  256. input.F_Tel = dr["待分配电话"].ToString();
  257. var list = await _cus_vip_infoRepository.GetListALL(x => x.F_State == 1 && (x.F_Phone == input.F_Tel || x
  258. .F_Mobile.Contains(input.F_Tel)));
  259. if (list != null && list.Count > 0)
  260. {
  261. var user = await sys_UserAccountRepository.GetSingle(x => x.F_UserId == list[0].F_Saleperson.ObjToInt());
  262. T_Cus_VipInfo vipInfo = new T_Cus_VipInfo();
  263. vipInfo.F_Name = "新客户";
  264. vipInfo.F_Phone = input.F_Tel;
  265. vipInfo.F_State = (int)EnumDelState.Enabled;
  266. vipInfo.F_CreateBy = UserLogin.UserId;
  267. vipInfo.F_CreateOn = DateTime.Now;
  268. vipInfo.F_Saleperson = user.F_UserId.ToString();
  269. vipInfo.F_Firstcalltime = DateTime.Now;
  270. vipInfo.F_Lastholetime = DateTime.Now;
  271. if (input.F_Media > 0)
  272. {
  273. vipInfo.F_Media = input.F_MediaName;
  274. vipInfo.F_MediaId = input.F_Media;
  275. }
  276. var res = await _cus_vip_infoRepository.Add(vipInfo);
  277. continue;
  278. }
  279. }
  280. else
  281. {
  282. errmsg = errmsg + "\r\n第" + index + "行导入失败!待分配电话不存在";
  283. continue;
  284. }
  285. }
  286. else
  287. {
  288. return Error("模板错误,请选择正确的模板");
  289. }
  290. if (dr.Table.Columns.Contains("姓名"))
  291. {
  292. if (!string.IsNullOrEmpty(dr["姓名"].ToString()))
  293. {
  294. input.F_Name = dr["姓名"].ToString();
  295. }
  296. }
  297. else
  298. {
  299. return Error("模板错误,请选择正确的模板");
  300. }
  301. if (dr.Table.Columns.Contains("媒体"))
  302. {
  303. if (!string.IsNullOrEmpty(dr["媒体"].ToString()))
  304. {
  305. var media = await _sys_mediaManagement_Repository
  306. .GetListALL(x => x.F_Name == dr["媒体"].ToString() && x.F_IsDelete ==0);
  307. if (media != null && media.Count > 0)
  308. {
  309. input.F_Media = media[0].F_ID;
  310. input.F_MediaName = dr["媒体"].ToString();
  311. }
  312. else
  313. {
  314. errmsg = errmsg + "\r\n第" + index + "行导入失败!该媒体不存在";
  315. continue;
  316. }
  317. }
  318. }
  319. if (dr.Table.Columns.Contains("部门"))
  320. {
  321. if (!string.IsNullOrEmpty(dr["部门"].ToString()))
  322. {
  323. var dept = await _sys_departmentRepository
  324. .GetListALL(x => x.F_DeptName == dr["部门"].ToString() );
  325. if (dept != null && dept.Count > 0)
  326. {
  327. input.F_Dept = dept[0].F_DeptId;
  328. input.F_DeptName = dr["部门"].ToString();
  329. input.F_OperationDept = UserLogin.UserCode;
  330. if (dr.Table.Columns.Contains("中心"))
  331. {
  332. if (!string.IsNullOrEmpty(dr["中心"].ToString()))
  333. {
  334. var team = await _sys_deptteamRepository
  335. .GetListALL(x => x.F_Name == dr["中心"].ToString());
  336. if (team != null && team.Count > 0)
  337. {
  338. if (team[0].F_DeptId == team[0].F_DeptId)
  339. {
  340. input.F_Team = team[0].F_Id ;
  341. input.F_TeamName = dr["中心"].ToString();
  342. input.F_OperationTeam = UserLogin.UserCode;
  343. if (dr.Table.Columns.Contains("小组"))
  344. {
  345. if (!string.IsNullOrEmpty(dr["小组"].ToString()))
  346. {
  347. var Group = await _sys_deptteamRepository
  348. .GetListALL(x => x.F_Name == dr["小组"].ToString());
  349. if (Group != null && Group.Count > 0)
  350. {
  351. if (Group[0].F_ParentID == team[0].F_Id )
  352. {
  353. input.F_Group = Group[0].F_Id ;
  354. input .F_GroupName = dr["小组"].ToString();
  355. input.F_OperationGroup = UserLogin.UserCode;
  356. if (dr.Table.Columns.Contains("分配人员"))
  357. {
  358. if (!string.IsNullOrEmpty(dr["分配人员"].ToString()))
  359. {
  360. var user = await sys_UserAccountRepository.GetListALL(x => x.F_UserName == dr["分配人员"].ToString() && x.F_GroupId == Group[0].F_Id
  361. && x.F_DeleteFlag == 0);
  362. if (user == null)
  363. {
  364. errmsg = errmsg + "\r\n第" + index + "行导入失败!分配人员不存在";
  365. continue;
  366. }
  367. input.F_OperationHandler = UserLogin.UserCode;
  368. T_Cus_VipInfo vipInfo = new T_Cus_VipInfo();
  369. vipInfo.F_Name = "新客户";
  370. vipInfo.F_Phone = input.F_Tel;
  371. vipInfo.F_State = (int)EnumDelState.Enabled;
  372. vipInfo.F_CreateBy = UserLogin.UserId;
  373. vipInfo.F_CreateOn = DateTime.Now;
  374. vipInfo.F_Saleperson = user[0].F_UserId.ToString();
  375. vipInfo.F_Firstcalltime = DateTime.Now;
  376. vipInfo.F_Lastholetime = DateTime.Now;
  377. if (input.F_Media > 0)
  378. {
  379. vipInfo.F_Media = input.F_MediaName;
  380. vipInfo.F_MediaId = input.F_Media;
  381. }
  382. var res = await _cus_vip_infoRepository.Add(vipInfo);
  383. }
  384. }
  385. }
  386. }
  387. else
  388. {
  389. errmsg = errmsg + "\r\n第" + index + "行导入失败!该小组不在该中心下";
  390. continue;
  391. }
  392. }
  393. else
  394. {
  395. errmsg = errmsg + "\r\n第" + index + "行导入失败!该小组不存在";
  396. continue;
  397. }
  398. }
  399. }
  400. }
  401. else
  402. {
  403. errmsg = errmsg + "\r\n第" + index + "行导入失败!该中心不在该部门下";
  404. continue;
  405. }
  406. }
  407. else
  408. {
  409. errmsg = errmsg + "\r\n第" + index + "行导入失败!该中心不存在";
  410. continue;
  411. }
  412. }
  413. }
  414. }
  415. }
  416. input.F_CrateTime = DateTime.Now;
  417. input.F_CrateUser = UserLogin.UserCode;
  418. input.F_Type =0;
  419. input.F_IsDelete = 0;
  420. logs.Add(input);
  421. }
  422. }
  423. if (logs.Count >0)
  424. {
  425. if (!await call_DistributionRepository.AddMany(logs))
  426. {
  427. if (!string.IsNullOrEmpty(errmsg))
  428. {
  429. errmsg = errmsg + "导入失败!";
  430. }
  431. else
  432. {
  433. errmsg = "导入失败!";
  434. }
  435. }
  436. }
  437. if (!string.IsNullOrEmpty(errmsg))
  438. {
  439. return Error(errmsg);
  440. }
  441. return Success("导入成功");
  442. }
  443. /// <summary>
  444. /// 分配
  445. /// </summary>
  446. /// <param name="input"></param>
  447. /// <returns></returns>
  448. [HttpPost("distribution")]
  449. public async Task<IActionResult> Distribution(string ids,int F_Dept, string F_DeptName,
  450. string F_TeamName, int F_Team, int F_Group, string F_GroupName, string F_Handler)
  451. {
  452. if (string .IsNullOrEmpty(ids))
  453. return Error("参数错误");
  454. string[] orderid = ids.Split(',');
  455. List<T_Call_Distribution> call_Distributions = new List<T_Call_Distribution>();
  456. foreach (var it in orderid)
  457. {
  458. try
  459. {
  460. var model = await call_DistributionRepository.GetSingle(x => x.F_ID == int.Parse(it));
  461. if (model == null)
  462. return Error("操作失败");
  463. if (F_Dept > 0)
  464. {
  465. model.F_Dept = F_Dept;
  466. model.F_DeptName = F_DeptName;
  467. model.F_OperationDept = UserLogin.UserCode;
  468. if (F_Team > 0)
  469. {
  470. model.F_Team = F_Team;
  471. model.F_TeamName = F_TeamName;
  472. model.F_OperationTeam = UserLogin.UserCode;
  473. if (F_Group > 0)
  474. {
  475. model.F_Group = F_Group;
  476. model.F_GroupName = F_GroupName;
  477. model.F_OperationGroup = UserLogin.UserCode;
  478. {
  479. if (!string.IsNullOrEmpty(F_Handler))
  480. {
  481. var user = await sys_UserAccountRepository.GetListALL(x => x.F_UserCode == F_Handler
  482. && x.F_DeleteFlag == 0);
  483. if (user == null)
  484. return Error("分配人员不存在");
  485. model .F_OperationHandler = UserLogin.UserCode;
  486. T_Cus_VipInfo vipInfo = new T_Cus_VipInfo();
  487. vipInfo.F_Name = "新客户";
  488. vipInfo.F_Phone = model.F_Tel;
  489. vipInfo.F_State = (int)EnumDelState.Enabled;
  490. vipInfo.F_CreateBy = UserLogin .UserId ;
  491. vipInfo.F_CreateOn = DateTime.Now;
  492. vipInfo.F_Saleperson = user[0].F_UserId .ToString ();
  493. vipInfo.F_Firstcalltime =DateTime .Now ;
  494. vipInfo.F_Lastholetime = DateTime.Now;
  495. if (model.F_Media>0)
  496. {
  497. vipInfo.F_Media = model.F_MediaName;
  498. vipInfo.F_MediaId = model.F_Media ;
  499. }
  500. var res = await _cus_vip_infoRepository.Add(vipInfo);
  501. }
  502. }
  503. }
  504. }
  505. model.F_AssignmentTime = DateTime.Now;
  506. call_Distributions.Add(model);
  507. }
  508. else
  509. {
  510. return Error("请选择分配部门");
  511. }
  512. }
  513. catch
  514. {
  515. return Error("操作失败");
  516. }
  517. }
  518. if (call_Distributions.Count >0)
  519. {
  520. if (await call_DistributionRepository.UpdateList(call_Distributions))
  521. {
  522. return Success("分配成功");
  523. }
  524. }
  525. return Error("分配失败");
  526. }
  527. /// <summary>
  528. /// 删除
  529. /// </summary>
  530. /// <param name="ids"></param>
  531. /// <returns></returns>
  532. [HttpPost("delete")]
  533. public async Task<IActionResult> Remove(int[] ids)
  534. {
  535. var res = 0;
  536. if (ids != null && ids.Length > 0)
  537. {
  538. foreach (var item in ids)
  539. {
  540. var model = await call_DistributionRepository.GetSingle(x => x.F_ID == item);
  541. model.F_IsDelete = 1;
  542. if (call_DistributionRepository.Update(model).Result)
  543. res += 1;
  544. }
  545. if (res == ids.Length)
  546. return Success("操作成功");
  547. else if (res > 0 && res < ids.Length)
  548. return Error("部分操作失败,请查看后重新操作");
  549. else
  550. return Error("操作失败,请查看后重新操作");
  551. }
  552. else
  553. return Error("请选择要删除的记录");
  554. }
  555. /// <summary>
  556. /// 获取列表
  557. /// </summary>
  558. /// <param name="keyword"></param>
  559. /// <param name="pageindex"></param>
  560. /// <param name="pagesize"></param>
  561. /// <returns></returns>
  562. [HttpGet("getlist")]
  563. public async Task<IActionResult> GetLisAsync(string name, int dept = 0, int team = 0, int group = 0, int type = 0, int pageindex = 1, int pagesize = 20)
  564. {
  565. List<IConditionalModel> conModels = new List<IConditionalModel>();
  566. #region 条件筛选
  567. conModels.Add(new ConditionalModel() { FieldName = "F_IsDelete", ConditionalType = ConditionalType.Equal, FieldValue = "0" });
  568. conModels.Add(new ConditionalModel() { FieldName = "F_Type", ConditionalType = ConditionalType.Equal, FieldValue = type.ToString () });
  569. if (!string.IsNullOrEmpty(name))
  570. {
  571. conModels.Add(new ConditionalModel() { FieldName = "F_Name", ConditionalType = ConditionalType.Equal, FieldValue = name });
  572. }
  573. if (dept >0 )
  574. {
  575. conModels.Add(new ConditionalModel() { FieldName = "F_Dept", ConditionalType = ConditionalType.Equal, FieldValue = dept.ToString() });
  576. }
  577. if (team > 0)
  578. {
  579. conModels.Add(new ConditionalModel() { FieldName = "F_Team", ConditionalType = ConditionalType.Equal, FieldValue = team.ToString() });
  580. }
  581. if (group > 0)
  582. {
  583. conModels.Add(new ConditionalModel() { FieldName = "F_Group", ConditionalType = ConditionalType.Equal, FieldValue = group.ToString() });
  584. }
  585. if (UserLogin.RoleCode == "ZXFZR")
  586. {
  587. var useraccount = await sys_UserAccountRepository.GetSingle(x => x.F_UserId == UserLogin.UserId.ObjToInt());
  588. conModels.Add(new ConditionalModel() { FieldName = "F_Team", ConditionalType = ConditionalType.Equal, FieldValue = useraccount.F_DeptTeamId.ToString() });
  589. }
  590. else if (UserLogin.RoleCode == "XZFZR")
  591. {
  592. var useraccount = await sys_UserAccountRepository.GetSingle(x => x.F_UserId == UserLogin.UserId.ObjToInt());
  593. conModels.Add(new ConditionalModel() { FieldName = "F_Group", ConditionalType = ConditionalType.Equal, FieldValue = useraccount.F_GroupId .ToString ()});
  594. }
  595. #endregion
  596. int recordCount = 0;
  597. var list = await call_DistributionRepository.GetListByPage(conModels, new MyPageModel() { PageIndex = pageindex, PageSize = pagesize, PageCount = recordCount });
  598. var obj = new
  599. {
  600. state = "success",
  601. message = "成功",
  602. rows = list,
  603. total = list.Totals,
  604. };
  605. return Content(obj.ToJson());
  606. }
  607. /// <summary>
  608. /// 获取详情
  609. /// </summary>
  610. /// <param name="id">id</param>
  611. /// <returns></returns>
  612. [HttpGet("getdetails")]
  613. public async Task<IActionResult> GetDetailsAsync(int id)
  614. {
  615. if (id <= 0)
  616. return Error("参数错误");
  617. var model = await call_DistributionRepository.GetSingle(x => x.F_ID == id);
  618. if (model == null)
  619. {
  620. return Error("获取失败");
  621. }
  622. return Success("获取成功!", model);
  623. }
  624. /// <summary>
  625. /// 判断号码必须为十一位数字
  626. /// </summary>
  627. /// <param name="tel"></param>
  628. /// <returns></returns>
  629. public bool valtel(string tel)
  630. {
  631. var res = false;
  632. //11位数字
  633. if (tel.Length == 11 && Regex.IsMatch(tel, @"^\d{11}$"))
  634. res = true;
  635. else if (tel.Length == 12 && Regex.IsMatch(tel, @"^\d{12}$"))
  636. res = true;
  637. else if (tel.Length == 8 && Regex.IsMatch(tel, @"^\d{8}$"))
  638. res = true;
  639. return res;
  640. }
  641. }
  642. }