BusinessController.cs 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. using Microsoft.AspNetCore.Mvc;
  2. using NPOI.SS.Formula.Functions;
  3. using OASystem.API.OAMethodLib.ALiYun;
  4. using OASystem.API.OAMethodLib.ExcelOutput;
  5. using OASystem.Domain.Common;
  6. using OASystem.Domain.Dtos.Business;
  7. using OASystem.Domain.Dtos.Groups;
  8. using OASystem.Domain.Entities.Business;
  9. using OASystem.Domain.Entities.Groups;
  10. using OASystem.Domain.Entities.Resource;
  11. using OASystem.Domain.ViewModels.Business;
  12. using OASystem.Domain.ViewModels.Groups;
  13. using OASystem.Infrastructure.Repositories.Business;
  14. using Org.BouncyCastle.Asn1.Mozilla;
  15. namespace OASystem.API.Controllers
  16. {
  17. /// <summary>
  18. /// 通用业务操作
  19. /// </summary>
  20. [Route("api/[controller]/[action]")]
  21. public class BusinessController : ControllerBase
  22. {
  23. private readonly IMapper _mapper;
  24. private readonly CommonBusRepository _busRep;
  25. public BusinessController(IMapper mapper, CommonBusRepository busRep)
  26. {
  27. _mapper = mapper;
  28. _busRep = busRep;
  29. }
  30. #region 会务物料单
  31. /// <summary>
  32. /// 获取会务活动列表
  33. /// </summary>
  34. /// <param name="paras"></param>
  35. /// <returns></returns>
  36. [HttpPost]
  37. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  38. public async Task<IActionResult> PostConferenceList()
  39. {
  40. List<Grp_DelegationInfo> listSource = _busRep.Query<Grp_DelegationInfo>(s => s.TeamDid == 691 && s.IsDel == 0).ToList();
  41. List<GroupNameView> viewList = new List<GroupNameView>();
  42. foreach (var group in listSource)
  43. {
  44. GroupNameView _view = new GroupNameView();
  45. _view.Id = group.Id;
  46. _view.GroupName = group.TeamName;
  47. }
  48. return Ok(JsonView(viewList));
  49. }
  50. /// <summary>
  51. /// 获取会务的采购物品计划清单
  52. /// </summary>
  53. /// <param name="ConfId">会务活动Id</param>
  54. /// <returns></returns>
  55. [HttpPost]
  56. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  57. public async Task<IActionResult> PostConfItemList(int ConfId)
  58. {
  59. Bus_ConfItemListView view = new Bus_ConfItemListView();
  60. Bus_ConfItemListInfo _confListInfo = await _busRep.Query<Bus_ConfItemListInfo>(s => s.Diid == ConfId).FirstAsync();
  61. if (_confListInfo != null)
  62. {
  63. view.TotalCost = _confListInfo.TotalCost;
  64. string sqlItem = string.Format(@" Select c.Id,c.ItemId,d.ItemName,c.[Count],c.CurrCost,c.OpRemark
  65. From Bus_ConfItem as c With(Nolock)
  66. Inner Join Res_ItemDetail as d with(Nolock) On c.ItemId=d.Id
  67. Where c.ConfListId = {0}", ConfId);
  68. List<Bus_ConfItemView> confItemList = await _busRep._sqlSugar.SqlQueryable<Bus_ConfItemView>(sqlItem).ToListAsync();
  69. view.ItemList = new List<Bus_ConfItemView>(confItemList);
  70. }
  71. else
  72. {
  73. view.ItemList = new List<Bus_ConfItemView>();
  74. view.TotalCost = 0;
  75. }
  76. return Ok(JsonView(view));
  77. }
  78. /// <summary>
  79. /// 获取会务可采购的物料集合
  80. /// </summary>
  81. /// <returns></returns>
  82. [HttpPost]
  83. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  84. public async Task<IActionResult> PostOptionalItemList()
  85. {
  86. List<OptionalBusRangeView> result = await _busRep.GetViewList_OptionalItem();
  87. return Ok(JsonView(result));
  88. }
  89. /// <summary>
  90. /// 编辑物料采购清单
  91. /// </summary>
  92. /// <returns></returns>
  93. [HttpPost]
  94. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  95. public async Task<IActionResult> PostEditOptionalItemList(JsonDtoBase jsonDto)
  96. {
  97. if (string.IsNullOrEmpty(jsonDto.Paras))
  98. {
  99. return Ok(JsonView(false, "参数为空"));
  100. }
  101. Edit_OptionalItemListDto _dto = JsonConvert.DeserializeObject<Edit_OptionalItemListDto>(jsonDto.Paras);
  102. //Edit_OptionalItemListDto _dto = System.Text.Json.JsonSerializer.Deserialize<Edit_OptionalItemListDto>(jsonDto.Paras);
  103. if (_dto.DiId < 1)
  104. {
  105. return Ok(JsonView(false, "团组Id为空"));
  106. }
  107. if (_dto.ConfItemListId < 1)
  108. {
  109. //新增
  110. int rstInsert = await _busRep.Insert_ConfItemList(_dto);
  111. return Ok(JsonView(rstInsert == 0));
  112. }
  113. else
  114. {
  115. //修改
  116. int rstUpdate = await _busRep.Edit_ConfItemList(_dto);
  117. return Ok(JsonView(rstUpdate == 0));
  118. }
  119. return Ok(JsonView(false));
  120. }
  121. /// <summary>
  122. /// 获取会务采购物料清单Excel
  123. /// </summary>
  124. /// <returns></returns>
  125. [HttpPost]
  126. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  127. public async Task<IActionResult> Excel_ConfItemList(JsonDtoBase jsonDto)
  128. {
  129. if (string.IsNullOrEmpty(jsonDto.Paras))
  130. {
  131. return Ok(JsonView(false, "参数为空"));
  132. }
  133. dynamic confList = JsonConvert.DeserializeObject<dynamic>(jsonDto.Paras);
  134. int confListId = confList.ConfListId;
  135. Bus_ConfItemListInfo _entityConfList = await _busRep.Query<Bus_ConfItemListInfo>(s => s.Id == confListId).FirstAsync();
  136. if (_entityConfList != null)
  137. {
  138. string result = new Excel_BusConfItemList().Excel(_entityConfList);
  139. }
  140. else
  141. {
  142. return Ok(JsonView(false, "请先保存数据"));
  143. }
  144. return Ok(JsonView(false));
  145. }
  146. #endregion
  147. #region 阿里云短信测试
  148. /// <summary>
  149. /// 编辑物料采购清单
  150. /// </summary>
  151. /// <returns></returns>
  152. [HttpPost]
  153. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  154. public async Task<IActionResult> AliMessageTest(string mobile)
  155. {
  156. string add2dayZH = DateTime.Now.AddDays(2).ToString("yyyy年MM月dd日");
  157. string templateParam = JsonConvert.SerializeObject(new { teams = "测试团组", date = add2dayZH });
  158. AliMessagePost.PostMessage(mobile, "泛美国际团组", "SMS_461575447", templateParam);
  159. return Ok(JsonView(true));
  160. }
  161. #endregion
  162. }
  163. }