123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- using Microsoft.AspNetCore.Mvc;
- using OASystem.API.OAMethodLib.ExcelOutput;
- using OASystem.Domain.Common;
- using OASystem.Domain.Dtos.Business;
- using OASystem.Domain.Dtos.Groups;
- using OASystem.Domain.Entities.Business;
- using OASystem.Domain.Entities.Groups;
- using OASystem.Domain.Entities.Resource;
- using OASystem.Domain.ViewModels.Business;
- using OASystem.Domain.ViewModels.Groups;
- using OASystem.Infrastructure.Repositories.Business;
- using Org.BouncyCastle.Asn1.Mozilla;
- namespace OASystem.API.Controllers
- {
- /// <summary>
- /// 通用业务操作
- /// </summary>
- [Route("api/[controller]/[action]")]
- public class BusinessController : ControllerBase
- {
- private readonly IMapper _mapper;
- private readonly CommonBusRepository _busRep;
- public BusinessController(IMapper mapper, CommonBusRepository busRep)
- {
- _mapper = mapper;
- _busRep = busRep;
- }
- #region 会务物料单
- /// <summary>
- /// 获取会务活动列表
- /// </summary>
- /// <param name="paras"></param>
- /// <returns></returns>
- [HttpPost]
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
- public async Task<IActionResult> PostConferenceList()
- {
- List<Grp_DelegationInfo> listSource = _busRep.Query<Grp_DelegationInfo>(s => s.TeamDid == 691 && s.IsDel == 0).ToList();
- List<GroupNameView> viewList = new List<GroupNameView>();
- foreach (var group in listSource)
- {
- GroupNameView _view = new GroupNameView();
- _view.Id = group.Id;
- _view.GroupName = group.TeamName;
- }
- return Ok(JsonView(viewList));
- }
- /// <summary>
- /// 获取会务的采购物品计划清单
- /// </summary>
- /// <param name="ConfId">会务活动Id</param>
- /// <returns></returns>
- [HttpPost]
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
- public async Task<IActionResult> PostConfItemList(int ConfId)
- {
- Bus_ConfItemListView view = new Bus_ConfItemListView();
- Bus_ConfItemListInfo _confListInfo = await _busRep.Query<Bus_ConfItemListInfo>(s => s.Diid == ConfId).FirstAsync();
- if (_confListInfo != null)
- {
- view.TotalCost = _confListInfo.TotalCost;
- string sqlItem = string.Format(@" Select c.Id,c.ItemId,d.ItemName,c.[Count],c.CurrCost,c.OpRemark
- From Bus_ConfItem as c With(Nolock)
- Inner Join Res_ItemDetail as d with(Nolock) On c.ItemId=d.Id
- Where c.ConfListId = {0}", ConfId);
- List<Bus_ConfItemView> confItemList = await _busRep._sqlSugar.SqlQueryable<Bus_ConfItemView>(sqlItem).ToListAsync();
- view.ItemList = new List<Bus_ConfItemView>(confItemList);
- }
- else
- {
- view.ItemList = new List<Bus_ConfItemView>();
- view.TotalCost = 0;
- }
- return Ok(JsonView(view));
- }
- /// <summary>
- /// 获取会务可采购的物料集合
- /// </summary>
- /// <returns></returns>
- [HttpPost]
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
- public async Task<IActionResult> PostOptionalItemList()
- {
- List<OptionalBusRangeView> result = await _busRep.GetViewList_OptionalItem();
- return Ok(JsonView(result));
- }
- /// <summary>
- /// 编辑物料采购清单
- /// </summary>
- /// <returns></returns>
- [HttpPost]
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
- public async Task<IActionResult> PostEditOptionalItemList(JsonDtoBase jsonDto)
- {
- if (string.IsNullOrEmpty(jsonDto.Paras))
- {
- return Ok(JsonView(false, "参数为空"));
- }
- Edit_OptionalItemListDto _dto = JsonConvert.DeserializeObject<Edit_OptionalItemListDto>(jsonDto.Paras);
- //Edit_OptionalItemListDto _dto = System.Text.Json.JsonSerializer.Deserialize<Edit_OptionalItemListDto>(jsonDto.Paras);
- if (_dto.DiId < 1)
- {
- return Ok(JsonView(false, "团组Id为空"));
- }
- if (_dto.ConfItemListId < 1)
- {
- //新增
- int rstInsert = await _busRep.Insert_ConfItemList(_dto);
- return Ok(JsonView(rstInsert == 0));
- }
- else
- {
- //修改
- int rstUpdate = await _busRep.Edit_ConfItemList(_dto);
- return Ok(JsonView(rstUpdate == 0));
- }
- return Ok(JsonView(false));
- }
- /// <summary>
- /// 获取会务采购物料清单Excel
- /// </summary>
- /// <returns></returns>
- [HttpPost]
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
- public async Task<IActionResult> Excel_ConfItemList(JsonDtoBase jsonDto)
- {
- if (string.IsNullOrEmpty(jsonDto.Paras))
- {
- return Ok(JsonView(false, "参数为空"));
- }
- dynamic confList = JsonConvert.DeserializeObject<dynamic>(jsonDto.Paras);
- int confListId = confList.ConfListId;
- Bus_ConfItemListInfo _entityConfList = await _busRep.Query<Bus_ConfItemListInfo>(s => s.Id == confListId).FirstAsync();
- if (_entityConfList != null)
- {
- string result = new Excel_BusConfItemList().Excel(_entityConfList);
- }
- else
- {
- return Ok(JsonView(false, "请先保存数据"));
- }
- return Ok(JsonView(false));
- }
- #endregion
- }
- }
|