Browse Source

付款申请
显示调整

leiy 11 months ago
parent
commit
7ef49c4a8c

+ 47 - 39
OASystem/OASystem.Api/Controllers/FinancialController.cs

@@ -1919,8 +1919,9 @@ Where c.CTable = 1015 And c.IsPay = 1 And f.IsDel = 0 And c.IsDel = 0 And f.DiId
                 int rouNumber = 1;
                 foreach (var payInfo in groupPaymentDatas)
                 {
-                    string priName = "";
+                    string priName = "-";
 
+                    string orbitalPrivateTransfer = payInfo.OrbitalPrivateTransfer == 0 ? "公转" : payInfo.OrbitalPrivateTransfer == 1 ? "私转" : "-";
                     switch (payInfo.CTable)
                     {
                         case 76:  //76	酒店预订
@@ -1932,36 +1933,36 @@ Where c.CTable = 1015 And c.IsPay = 1 And f.IsDel = 0 And c.IsDel = 0 And f.DiId
                             {
                                 if (payInfo.OrbitalPrivateTransfer == 0) //公转
                                 {
-                                    priName = $"【公转】【导游: {opData.ServiceGuide} 】{opData.Area}" ;
+                                    priName = $"【{orbitalPrivateTransfer}】【导游: {opData.ServiceGuide} 】{opData.Area}" ;
                                 }
                                 else if (payInfo.OrbitalPrivateTransfer == 1) //私转
                                 {
-                                    priName = $"【私转】【导游:{opData.ServiceGuide}】{opData.Area}";
+                                    priName = $"【{orbitalPrivateTransfer}】【导游:{opData.ServiceGuide}】{opData.Area}";
                                 }
                             }
                             break;
                         case 80:  // 80   签证
-                            priName = visaDatas.Find(it => payInfo.DIId == it.DIId && payInfo.CId == it.Id)?.VisaClient ?? "";
+                            priName = visaDatas.Find(it => payInfo.DIId == it.DIId && payInfo.CId == it.Id)?.VisaClient ?? "-";
                             break;
                         case 81:  // 81	邀请/公务活动
-                            priName = ioaDatas.Find(it => payInfo.DIId == it.DiId && payInfo.CId == it.Id)?.Inviter ?? "";
+                            priName = ioaDatas.Find(it => payInfo.DIId == it.DiId && payInfo.CId == it.Id)?.Inviter ?? "-";
                             break;
                         case 82:  // 82	团组客户保险
-                            priName = insureDatas.Find(it => payInfo.DIId == it.DiId && payInfo.CId == it.Id)?.ClientName ?? "";
+                            priName = insureDatas.Find(it => payInfo.DIId == it.DiId && payInfo.CId == it.Id)?.ClientName ?? "-";
                             break;
                         case 85:  // 85	机票预订
-                            string flightsCode = airDatas.Find(it => payInfo.DIId == it.DIId && payInfo.CId == it.Id)?.FlightsCode ?? "";
-                            string airPayType = setDatas.Find(it => it.Id == payInfo.PayDId)?.Name ?? "";
+                            string flightsCode = airDatas.Find(it => payInfo.DIId == it.DIId && payInfo.CId == it.Id)?.FlightsCode ?? "-";
+                            string airPayType = setDatas.Find(it => it.Id == payInfo.PayDId)?.Name ?? "-";
                             priName = $"{flightsCode}【{airPayType}】";
                             break;
                         case 98:  //  98	其他款项
-                            priName = otherMoneyDatas.Find(it => payInfo.DIId == it.Diid && payInfo.CId == it.Id)?.PriceName ?? "";
+                            priName = otherMoneyDatas.Find(it => payInfo.DIId == it.Diid && payInfo.CId == it.Id)?.PriceName ?? "-";
                             break;
                         case 285:  //  285 收款退还
-                            priName = refundPaymentDatas.Find(it => payInfo.DIId == it.DiId && payInfo.CId == it.Id)?.PriceName ?? "";
+                            priName = refundPaymentDatas.Find(it => payInfo.DIId == it.DiId && payInfo.CId == it.Id)?.PriceName ?? "-";
                             break;
                         case 1015:  //  1015	超支费用
-                            priName = ExtraCostDatas.Find(it => payInfo.DIId == it.DiId && payInfo.CId == it.Id)?.PriceName ?? "";
+                            priName = ExtraCostDatas.Find(it => payInfo.DIId == it.DiId && payInfo.CId == it.Id)?.PriceName ?? "-";
                             break;
                         default:
                             priName = "";
@@ -1974,23 +1975,29 @@ Where c.CTable = 1015 And c.IsPay = 1 And f.IsDel = 0 And c.IsDel = 0 And f.DiId
                         status1 = _groupIds.Contains(payInfo.Id);
                     }
 
-                    childList.Add(new Group_DailyFeePaymentContentInfolView()
+
+                    var childInfo = new Group_DailyFeePaymentContentInfolView()
                     {
                         IsChecked = status1,
                         Id = payInfo.Id,
                         Payee = payInfo.Payee,
                         RowNumber = rouNumber,
-                        Applicant = userDatas.Find(it => it.Id == payInfo.CreateUserId)?.CnName ??  "",
+                        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 ? "私转" :"-",
+                        TransferMark = orbitalPrivateTransfer,
                         PriceName = priName,
                         ModuleName = setDatas.Find(it => it.Id == payInfo.CTable)?.Name ?? "",
                         PayCurrCode = setDatas.Find(it => it.Id == payInfo.PaymentCurrency)?.Name ?? "",
                         PaymentAmount = payInfo.PayMoney,
                         PayRate = payInfo.DayRate,
-                        CNYTotalAmount = ((payInfo.DayRate * payInfo.PayMoney) / 100) * payInfo.PayPercentage //此次付款金额
-                    });; 
+                        CNYSubTotalAmount = ((payInfo.DayRate * payInfo.PayMoney) / 100) * payInfo.PayPercentage //此次付款金额
+                    };
+
+                    string remaksDescription = $"【{childInfo.PayType}】【{childInfo.ModuleName}】{rouNumber}、[申请人:{childInfo.Applicant}][收款方:{childInfo.Payee}]{priName}[{payInfo.ConsumptionPatterns}] {childInfo.PayCurrCode} {payInfo.PayMoney.ToString("#0.00")}、CNY:{childInfo.CNYSubTotalAmount.ToString("#0.00")}";
+
+                    childInfo.RemaksDescription = remaksDescription;
+                    childList.Add(childInfo);
                     rouNumber++;
                 }
 
@@ -2002,7 +2009,7 @@ Where c.CTable = 1015 And c.IsPay = 1 And f.IsDel = 0 And c.IsDel = 0 And f.DiId
                     GroupName = groupInfo.TeamName,
                     CompanyId = companyInfo.Id,
                     ConpanyName = companyInfo.ConpanyName,
-                    CNYTotalAmount = childList.Sum(it => it.CNYTotalAmount),
+                    CNYTotalAmount = childList.Sum(it => it.CNYSubTotalAmount),
                     ChildList = childList,
                 });
             }
@@ -2097,7 +2104,11 @@ Where c.CTable = 1015 And c.IsPay = 1 And f.IsDel = 0 And c.IsDel = 0 And f.DiId
                 string feeContentSql = string.Format(@"Select * From Fin_DailyFeePaymentContent 
                                                         Where IsDel=0 And DFPId = {0} ", item.Id);
                 item.childList = _sqlSugar.SqlQueryable<Fin_DailyFeePaymentContentInfolView>(feeContentSql).ToList();
-
+                foreach (var subItem in item.childList)
+                {
+                    string remaksDescription = $"【{item.priceTypeStr}】{item.Instructions}({subItem.PriceName}) CNY:{subItem.ItemTotal.ToString("#0.00")}(单价:{subItem.Price.ToString("#0.00")} * {subItem.Quantity})【申请人:{item.CreateUser}  申请时间:{item.CreateTime.ToString("yyyy-MM-dd HH:mm:ss")}】";
+                    subItem.RemaksDescription = remaksDescription;
+                }
             }
 
             decimal total_gz = DailyFeePaymentData.Where(s => s.transferParentId == 62).Sum(d => d.SumPrice ?? 0M);
@@ -2416,22 +2427,9 @@ 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 _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)
                 {
@@ -2461,7 +2459,17 @@ Where c.CTable = 1015 And c.IsPay = 1 And f.IsDel = 0 And c.IsDel = 0 And f.DiId
                     return Ok(JsonView(false, "参数ConpanyId不可使用!"));
                 }
 
+                string _requestPaymentDt = DateTime.Now.ToString("yyyy-MM-dd"),//申请付款日期
+                       _appliedAmount = "", //申请付款金额
+                       _GZStr = "",    //公转价格描述
+                       _SZStr = "";    //私转价格描述
+
+                decimal groupGZAmout = 0.00M, groupSZAmout = 0.00M;
+                decimal dailyGZAmout = 0.00M, dailySZAmout = 0.00M;
+                string dailyGZStr = "", dailySZStr = "", groupGZStr = "", groupSZStr = "";
+
                 #region 数据处理
+
                 //团组费用相关
                 foreach (var item in _GroupData)
                 {
@@ -2472,13 +2480,13 @@ Where c.CTable = 1015 And c.IsPay = 1 And f.IsDel = 0 And c.IsDel = 0 And f.DiId
                     {
                         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";
+                            groupGZAmout += subItem.CNYSubTotalAmount;
+                            groupGZSubStr += $"{subItem.RemaksDescription}\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";
+                            groupSZAmout += subItem.CNYSubTotalAmount;
+                            groupSZSubStr += $"{subItem.RemaksDescription}\r\n";
                         }
 
                         groupGZSubStr += $"\t";
@@ -2487,7 +2495,6 @@ Where c.CTable = 1015 And c.IsPay = 1 And f.IsDel = 0 And c.IsDel = 0 And f.DiId
                     if (!string.IsNullOrEmpty(groupGZSubStr)) groupGZStr += $"团组:{item.GroupName}\r\n{groupGZSubStr}\r\n";
                     if (!string.IsNullOrEmpty(groupSZSubStr)) groupSZStr += $"团组:{item.GroupName}\r\n{groupSZSubStr}\r\n";
 
-
                 }
 
                 //日常费用相关
@@ -2497,15 +2504,14 @@ Where c.CTable = 1015 And c.IsPay = 1 And f.IsDel = 0 And c.IsDel = 0 And f.DiId
                     {
                         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";
+                            dailyGZStr += $"{item.RowNumber}、【{item.CompanyName}】{subItem.RemaksDescription}\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";
+                            dailySZStr += $"{item.RowNumber}、【{item.CompanyName}】{subItem.RemaksDescription}\r\n";
                         }
                     }
                 }
@@ -2516,6 +2522,8 @@ Where c.CTable = 1015 And c.IsPay = 1 And f.IsDel = 0 And c.IsDel = 0 And f.DiId
                 #endregion
 
 
+                WorkbookDesigner designer = new WorkbookDesigner();
+                designer.Workbook = new Workbook(AppSettingsHelper.Get("ExcelBasePath") + "Template/付款申请书.xls");
                 designer.SetDataSource("Date", _requestPaymentDt);
                 designer.SetDataSource("Price", _appliedAmount);
                 designer.SetDataSource("Content", _GZStr);

+ 11 - 2
OASystem/OASystem.Domain/ViewModels/Financial/Fin_DailyFeePaymentView.cs

@@ -186,6 +186,11 @@ namespace OASystem.Domain.ViewModels.Financial
         /// 备注
         /// </summary>
         public string Remark { get; set; }
+
+        /// <summary>
+        /// 备注描述
+        /// </summary>
+        public string RemaksDescription { get; set; }
     }
 
     public class Fin_DailyFeePaymentInfolView
@@ -430,7 +435,6 @@ namespace OASystem.Domain.ViewModels.Financial
         /// </summary>
         public string Applicant { get; set; }
 
-
         /// <summary>
         /// 申请时间
         /// </summary>
@@ -469,7 +473,12 @@ namespace OASystem.Domain.ViewModels.Financial
         /// <summary>
         /// 小计人名币金额
         /// </summary>
-        public decimal CNYTotalAmount { get; set; }
+        public decimal CNYSubTotalAmount { get; set; }
+
+        /// <summary>
+        /// 费用描述 
+        /// </summary>
+        public string RemaksDescription { get; set; }
     }
 
     public class PaymentRequestCheckedView