|
@@ -28,6 +28,8 @@ using Google.Protobuf;
|
|
|
using NPOI.SS.Formula.Functions;
|
|
|
using System.Globalization;
|
|
|
using NPOI.POIFS.Properties;
|
|
|
+using SixLabors.ImageSharp.ColorSpaces;
|
|
|
+using OASystem.Domain.ViewModels.QiYeWeChat;
|
|
|
|
|
|
namespace OASystem.API.Controllers
|
|
|
{
|
|
@@ -1979,6 +1981,7 @@ Where c.CTable = 1015 And c.IsPay = 1 And f.IsDel = 0 And c.IsDel = 0 And f.DiId
|
|
|
Payee = payInfo.Payee,
|
|
|
RowNumber = rouNumber,
|
|
|
Applicant = userDatas.Find(it => it.Id == payInfo.CreateUserId)?.CnName ?? "",
|
|
|
+ ApplicantDt = payInfo.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"),
|
|
|
PayType = setDatas.Find(it => it.Id == payInfo.PayDId)?.Name ?? "",
|
|
|
TransferMark = payInfo.OrbitalPrivateTransfer == 0 ? "公转": payInfo.OrbitalPrivateTransfer == 1 ? "私转" :"-",
|
|
|
PriceName = priName,
|
|
@@ -1987,7 +1990,7 @@ Where c.CTable = 1015 And c.IsPay = 1 And f.IsDel = 0 And c.IsDel = 0 And f.DiId
|
|
|
PaymentAmount = payInfo.PayMoney,
|
|
|
PayRate = payInfo.DayRate,
|
|
|
CNYTotalAmount = ((payInfo.DayRate * payInfo.PayMoney) / 100) * payInfo.PayPercentage //此次付款金额
|
|
|
- });
|
|
|
+ });;
|
|
|
rouNumber++;
|
|
|
}
|
|
|
|
|
@@ -2352,7 +2355,7 @@ Where c.CTable = 1015 And c.IsPay = 1 And f.IsDel = 0 And c.IsDel = 0 And f.DiId
|
|
|
|
|
|
/// <summary>
|
|
|
/// 付款申请 (PageId=51)
|
|
|
- /// 文件下载
|
|
|
+ /// File Down
|
|
|
/// </summary>
|
|
|
/// <param name="dto"></param>
|
|
|
/// <returns></returns>
|
|
@@ -2413,33 +2416,119 @@ Where c.CTable = 1015 And c.IsPay = 1 And f.IsDel = 0 And c.IsDel = 0 And f.DiId
|
|
|
tree_Fin_DailyFeePaymentResult dailyResult = PayRequest_DailyByDateRange(2, checkedView.DailyPaymentIds, dto.beginDt, dto.endDt);
|
|
|
tree_Group_DailyFeePaymentResult groupResult = PayRequest_GroupPaymentByDateRange(2, checkedView.GroupIds, dto.beginDt, dto.endDt);
|
|
|
|
|
|
- string _requestPayment = DateTime.Now.ToString("yyyy-MM-dd");//申请付款日期
|
|
|
+ string _requestPaymentDt = DateTime.Now.ToString("yyyy-MM-dd"),//申请付款日期
|
|
|
+ _appliedAmount = "", //申请付款金额
|
|
|
+ _GZStr = "", //公转价格描述
|
|
|
+ _SZStr = ""; //私转价格描述
|
|
|
+
|
|
|
+
|
|
|
+ List<tree_Group_DailyFeePaymentPageListView> _GroupData = new List<tree_Group_DailyFeePaymentPageListView>();
|
|
|
+ List<tree_Fin_DailyFeePaymentPageListView> _DailyData = new List<tree_Fin_DailyFeePaymentPageListView>();
|
|
|
+
|
|
|
+ decimal groupGZAmout = 0.00M, groupSZAmout = 0.00M;
|
|
|
+ decimal dailyGZAmout = 0.00M, dailySZAmout = 0.00M;
|
|
|
+ string dailyGZStr = "", dailySZStr = "", groupGZStr = "", groupSZStr = "";
|
|
|
+
|
|
|
+ WorkbookDesigner designer = new WorkbookDesigner();
|
|
|
+ designer.Workbook = new Workbook(AppSettingsHelper.Get("ExcelBasePath") + "Template/付款申请书.xls");
|
|
|
|
|
|
//1 成都泛美商务有限公司
|
|
|
- if (dto.ConpanyId == 1)
|
|
|
+ if (dto.ConpanyId == 1)
|
|
|
{
|
|
|
-
|
|
|
+ _GroupData = groupResult.dataList.Where(it => it.CompanyId == 1).ToList();
|
|
|
+ _DailyData = dailyResult.dataList.Where(it => it.CompanyId == 1).ToList();
|
|
|
}
|
|
|
//2 四川泛美交流有限公司
|
|
|
else if (dto.ConpanyId == 2)
|
|
|
{
|
|
|
-
|
|
|
+ _GroupData = groupResult.dataList.Where(it => it.CompanyId == 2).ToList();
|
|
|
+ _DailyData = dailyResult.dataList.Where(it => it.CompanyId == 2).ToList();
|
|
|
}
|
|
|
//3 成都纽茵教育科技有限公司
|
|
|
else if (dto.ConpanyId == 3)
|
|
|
{
|
|
|
|
|
|
+ _GroupData = groupResult.dataList.Where(it => it.CompanyId == 3).ToList();
|
|
|
+ _DailyData = dailyResult.dataList.Where(it => it.CompanyId == 3).ToList();
|
|
|
}
|
|
|
//4 成都鸿企中元科技有限公司
|
|
|
else if (dto.ConpanyId == 4)
|
|
|
{
|
|
|
-
|
|
|
+ return Ok(JsonView(false, "暂未开放该类型!"));
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
return Ok(JsonView(false, "参数ConpanyId不可使用!"));
|
|
|
}
|
|
|
- return Ok(JsonView(false, "操作失败!"));
|
|
|
+
|
|
|
+ #region 数据处理
|
|
|
+ //团组费用相关
|
|
|
+ foreach (var item in _GroupData)
|
|
|
+ {
|
|
|
+ string groupGZSubStr = "";
|
|
|
+ string groupSZSubStr = "";
|
|
|
+
|
|
|
+ foreach (var subItem in item.ChildList)
|
|
|
+ {
|
|
|
+ if (subItem.TransferMark.Equals("公转"))
|
|
|
+ {
|
|
|
+ groupGZAmout += subItem.CNYTotalAmount;
|
|
|
+ groupGZSubStr += $"\t【{subItem.PayType}】[{subItem.ModuleName}]{subItem.RowNumber}、[申请人:{subItem.Applicant}][收款方:{subItem.Payee}]{subItem.PriceName}:支付币种及价格 {subItem.PayCurrCode} {subItem.PaymentAmount.ToString("#0.00")} 人名币价格 CNY {subItem.CNYTotalAmount.ToString("#0.00")}\r\n";
|
|
|
+ }
|
|
|
+ else if (subItem.TransferMark.Equals("私转"))
|
|
|
+ {
|
|
|
+ groupSZAmout += subItem.CNYTotalAmount;
|
|
|
+ groupSZSubStr += $"\t【{subItem.PayType}】[{subItem.ModuleName}]{subItem.RowNumber}、[申请人:{subItem.Applicant}][收款方:{subItem.Payee}]{subItem.PriceName}:支付币种及价格 {subItem.PayCurrCode} {subItem.PaymentAmount.ToString("#0.00")} 人名币价格 CNY {subItem.CNYTotalAmount.ToString("#0.00")}【申请人:{subItem.Applicant} 申请时间:{subItem.ApplicantDt}】\r\n";
|
|
|
+ }
|
|
|
+
|
|
|
+ groupGZSubStr += $"\t";
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!string.IsNullOrEmpty(groupGZSubStr)) groupGZStr += $"团组:{item.GroupName}\r\n{groupGZSubStr}\r\n";
|
|
|
+ if (!string.IsNullOrEmpty(groupSZSubStr)) groupSZStr += $"团组:{item.GroupName}\r\n{groupSZSubStr}\r\n";
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //日常费用相关
|
|
|
+ foreach (var item in _DailyData)
|
|
|
+ {
|
|
|
+ foreach (var subItem in item.childList)
|
|
|
+ {
|
|
|
+ if (item.transferParentId == 62) //公转
|
|
|
+ {
|
|
|
+
|
|
|
+ dailyGZAmout += item.SumPrice ?? 0.00M;
|
|
|
+ dailyGZStr += $"{item.RowNumber}、【{item.CompanyName}】【公转】【{item.priceTypeStr}】{subItem.PriceName}:CNY {subItem.ItemTotal.ToString("#0.00")} (单价:CNY {subItem.Price.ToString("#0.00")} * {subItem.Quantity})【申请人:{item.CreateUser} 申请时间:{item.CreateTime.ToString("yyyy-MM-dd HH:mm:ss")}】\r\n";
|
|
|
+
|
|
|
+ }
|
|
|
+ else if (item.transferParentId == 63) //私转
|
|
|
+ {
|
|
|
+ dailySZAmout += item.SumPrice ?? 0.00M;
|
|
|
+ dailySZStr += $"{item.RowNumber}、【{item.CompanyName}】【公转】【{item.priceTypeStr}】({item.Instructions}){subItem.PriceName}:CNY {subItem.ItemTotal.ToString("#0.00")} (单价:CNY {subItem.Price.ToString("#0.00")} * {subItem.Quantity})【申请人:{item.CreateUser} 申请时间:{item.CreateTime.ToString("yyyy-MM-dd HH:mm:ss")}】\r\n";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ _GZStr = $"【公转】团组相关费用(合计:CNY {groupGZAmout.ToString("#0.00")}):\r\n{groupGZStr}【公转】日常付款费用(合计:CNY {dailyGZAmout.ToString("#0.00")}):\r\n{dailyGZStr}";
|
|
|
+ _SZStr = $"【私转】团组相关费用(合计:CNY {groupSZAmout.ToString("#0.00")}):\r\n{groupSZStr}【私转】日常付款费用(合计:CNY {dailySZAmout.ToString("#0.00")}):\r\n{dailySZStr}";
|
|
|
+ _appliedAmount = $"公转:CNY {(groupGZAmout + dailyGZAmout).ToString("#0.00")}\r\n私转:CNY {(groupSZAmout + dailySZAmout).ToString("#0.00")}";
|
|
|
+ #endregion
|
|
|
+
|
|
|
+
|
|
|
+ designer.SetDataSource("Date", _requestPaymentDt);
|
|
|
+ designer.SetDataSource("Price", _appliedAmount);
|
|
|
+ designer.SetDataSource("Content", _GZStr);
|
|
|
+ designer.SetDataSource("Content1", _SZStr);
|
|
|
+
|
|
|
+ //根据数据源处理生成报表内容
|
|
|
+ designer.Process();
|
|
|
+
|
|
|
+ string fileName = ("PayRequest/付款申请(" + dto.beginDt + "~" + dto.endDt + ").xlsx");
|
|
|
+ designer.Workbook.Save(AppSettingsHelper.Get("ExcelBasePath") + fileName);
|
|
|
+ string rst = AppSettingsHelper.Get("ExcelBaseUrl") + AppSettingsHelper.Get("ExcelFtpPath") + fileName;
|
|
|
+ return Ok(JsonView(true, "操作成功!", new { url = rst }));
|
|
|
+
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|