123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268 |
- using Microsoft.AspNetCore.Http;
- using Microsoft.AspNetCore.Mvc;
- using OASystem.API.OAMethodLib;
- using OASystem.API.OAMethodLib.File;
- using OASystem.Domain;
- using OASystem.Domain.Dtos.Financial;
- using OASystem.Domain.Entities.Groups;
- using OASystem.Domain.ViewModels.Financial;
- using OASystem.Domain.ViewModels.Groups;
- using OASystem.Infrastructure.Repositories.Financial;
- using System.Data;
- namespace OASystem.API.Controllers
- {
- /// <summary>
- /// 财务模块
- /// </summary>
- [Route("api/[controller]/[action]")]
- [ApiController]
- public class FinancialController : ControllerBase
- {
- private readonly IMapper _mapper;
- private readonly IConfiguration _config;
- private readonly SqlSugarClient _sqlSugar;
- private readonly SetDataTypeRepository _setDataTypeRep;
- private readonly DailyFeePaymentRepository _daiRep; //日付申请仓库
- /// <summary>
- /// 初始化
- /// </summary>
- public FinancialController(IMapper mapper, IConfiguration configuration, DailyFeePaymentRepository daiRep, SqlSugarClient sqlSugar, SetDataTypeRepository setDataTypeRep)
- {
- this._mapper = mapper;
- this._config = configuration;
- this._daiRep = daiRep;
- this._sqlSugar = sqlSugar;
- this._setDataTypeRep = setDataTypeRep;
- }
- #region 日付申请
- /// <summary>
- /// 获取日付申请 基础数据源
- /// </summary>
- /// <param name="dto"> 日付申请 分页 dto</param>
- /// <returns></returns>
- [HttpPost]
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
- public async Task<IActionResult> PostPageSearchDailyPaymentPriceTypeData(DtoBase dto)
- {
- var result = await _daiRep.GetPagePriceTypeData(dto);
- if (result == null || result.Code != 0)
- {
- return Ok(JsonView(false, result.Msg));
- }
- var data = result.Data;
- return Ok(JsonView(data));
- }
- /// <summary>
- /// 日付申请 Page Search
- /// </summary>
- /// <param name="dto"> 日付申请 分页 dto</param>
- /// <returns></returns>
- [HttpPost]
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
- public async Task<IActionResult> PostPageSearchDailyPaymentList(PageDailyFeePaymentDto dto)
- {
- var result = await _daiRep.GetPageSearchAll(dto);
- if (result == null || result.Code != 0)
- {
- return Ok(JsonView(false, result.Msg));
- }
- var data = result.Data;
- if (data == null)
- {
- return Ok(JsonView(false, result.Msg));
- }
- return Ok(JsonView(data));
- }
-
- /// <summary>
- /// 日付申请 Single Search By Id
- /// </summary>
- /// <param name="dto"></param>
- /// <returns></returns>
- [HttpPost]
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
- public async Task<IActionResult> PostSearchDailyPaymentInfo(SearchDailyFeePaymentDto dto)
- {
- var result = await _daiRep.GetSearchById(dto);
- if (result == null || result.Code != 0)
- {
- return Ok(JsonView(false, result.Msg));
- }
- return Ok(JsonView(result.Data));
- }
- /// <summary>
- /// 日付申请 添加
- /// </summary>
- /// <param name="dto"> 日付申请 添加 dto</param>
- /// <returns></returns>
- [HttpPost]
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
- public async Task<IActionResult> PostAddDailyPayment(AddDailyFeePaymentDto dto)
- {
- var result = await _daiRep.Add(dto);
- if (result == null || result.Code != 0)
- {
- return Ok(JsonView(false, result.Msg));
- }
- return Ok(JsonView(true));
- }
- /// <summary>
- /// 日付申请 Update
- /// </summary>
- /// <param name="dto"> 日付申请 修改 dto</param>
- /// <returns></returns>
- [HttpPost]
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
- public async Task<IActionResult> PostEditDailyPayment(EditDailyFeePaymentDto dto)
- {
- var result = await _daiRep.Edit(dto);
- if (result == null || result.Code != 0)
- {
- return Ok(JsonView(false, result.Msg));
- }
- return Ok(JsonView(true));
- }
- /// <summary>
- /// 日付申请 Del
- /// </summary>
- /// <param name="dto"> 日付申请 删除 dto</param>
- /// <returns></returns>
- [HttpPost]
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
- public async Task<IActionResult> PostDelDailyPayment(DelDailyFeePaymentDto dto)
- {
- var result = await _daiRep.Del(dto);
- if (result == null || result.Code != 0)
- {
- return Ok(JsonView(false, result.Msg));
- }
- return Ok(JsonView(true));
- }
- /// <summary>
- /// 日付申请 财务审核
- /// </summary>
- /// <param name="dto"> dto </param>
- /// <returns></returns>
- [HttpPost]
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
- public async Task<IActionResult> PostDelDailyPaymentAudit(DP_AuditStatusDto dto)
- {
- var result = await _daiRep.DelDailyPaymentAudit(dto);
- if (result == null || result.Code != 0)
- {
- return Ok(JsonView(false, result.Msg));
- }
- return Ok(JsonView(true));
- }
- /// <summary>
- /// 日付申请 Single Excel Download
- /// </summary>
- /// <param name="dto"> dto </param>
- /// <returns></returns>
- [HttpPost]
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
- public async Task<IActionResult> PostExcelDailyPaymentDownload(SearchDailyFeePaymentDto dto)
- {
- if (dto.PortType == 1 || dto.PortType == 2)
- {
- Fin_DailyFeePaymentInfolView feeData = new Fin_DailyFeePaymentInfolView();
- string feeSql = string.Format(@"Select * From Fin_DailyFeePayment
- Where IsDel=0 And Id = {0} ", dto.Id);
- feeData = await _sqlSugar.SqlQueryable<Fin_DailyFeePaymentInfolView>(feeSql).FirstAsync();
- if (feeData == null)
- {
- return Ok(JsonView(false, "暂无数据!"));
- }
- string feeContentSql = string.Format(@"Select * From Fin_DailyFeePaymentContent
- Where IsDel=0 And DFPId = {0} ", dto.Id);
- feeData.FeeContents = await _sqlSugar.SqlQueryable<Fin_DailyFeePaymentContentInfolView>(feeContentSql).ToListAsync();
- if (feeData != null)
- {
- string userName = string.Empty;
- string userSql = string.Format("Select * From Sys_Users Where Id={0} And Isdel = {1}", feeData.CreateUserId, 0);
- Sys_Users user = await _sqlSugar.SqlQueryable<Sys_Users>(userSql).FirstAsync();
- if (user != null) { userName = user.CnName; }
- var setData = _setDataTypeRep.QueryDto<Sys_SetData, Fin_DailyFeePaymentPagePriceSubTypeView>().ToList();
- //48人员费用 49办公费用 50 销售费用 51 其他费用 55 大运会
- var priceSubTypeData = setData.Where(s => s.STid == 55).ToList();
- Dictionary<string, object> pairs = new Dictionary<string, object>();
- List<DataTable> datas = new List<DataTable>();
- //if (priceSubTypeData.Where(s => s.Id == feeData.PriceTypeId).ToList().Count() > 0)//大运会专属模板
- //{
-
- // //AsposeHelper.ExpertExcelToModel("日常费用付款申请模板-大运会数据.xls", "DailyPayment", "大运会所有日常费用付款申请.xls",
- // // pairs, datas);
- //}
- //else //日付常规模板
- //{
- pairs.Clear();
- pairs.Add("Opertor", userName);
- pairs.Add("DateTime", feeData.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"));
- pairs.Add("FAuditStatus", feeData.FAuditDesc);
- pairs.Add("MAuditStatus", feeData.MAuditDesc);
- pairs.Add("SumPrice", feeData.SumPrice);
- DataTable data = AsposeHelper.ListToDataTable("DailyFeePayment", feeData.FeeContents);
- datas.Clear();
- datas.Add(data);
- string fileName = string.Format("{0}-日常费用付款申请.xlsx", feeData.Instructions);
- string msg = AsposeHelper.ExpertExcelToModel("日常费用付款申请模板.xlsx", "DailyPayment", fileName, pairs, datas);
- return Ok(JsonView(true, msg));
- //}
-
- }
- else
- {
- return Ok(JsonView(false, "暂无数据!"));
- }
- }
-
- return Ok(JsonView(true));
- }
- #endregion
- #region 团组提成
- /// <summary>
- /// 提成 Page Search
- /// </summary>
- /// <param name="dto"> 提成 分页 dto</param>
- /// <returns></returns>
- [HttpPost]
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
- public async Task<IActionResult> PostPageSearchCommissionList(GroupCommissionDto dto)
- {
- var data = await GroupCommission.GetCommissionPageList(dto);
- return Ok(JsonView(data.Data));
- }
- #endregion
- }
- }
|