Bladeren bron

1.应收报表 PostSyntheticalReceivableByDateRange 新增公司费用相关细项(应收金额、已收金额)

leiy 10 maanden geleden
bovenliggende
commit
b28ffafaa2

+ 52 - 10
OASystem/OASystem.Api/Controllers/FinancialController.cs

@@ -1707,21 +1707,12 @@ namespace OASystem.API.Controllers
                     //2.已收
                     string sql_pr = string.Format(@" Select * From Fin_ProceedsReceived Where IsDel=0 And Diid={0} ", diId);
                     List<Fin_ProceedsReceived> list_pr = _sqlSugar.SqlQueryable<Fin_ProceedsReceived>(sql_pr).ToList();
-                    List<ProceedsReceivedInfoView> prDatas = new List<ProceedsReceivedInfoView>();
                     foreach (var item_pr in list_pr)
                     {
                         sum_pr += item_pr.Price;
                         str_client += string.Format(@"{0};", item_pr.Client);
                         str_schedule += string.Format(@"{0};", item_pr.Remark);
 
-                        prDatas.Add(new ProceedsReceivedInfoView
-                        {
-                            time = item_pr.SectionTime,
-                            client = item_pr.Client,
-                            money = item_pr.Price.ToString("#0.00"),
-                            currency = setData.Find(it => it.Id == item_pr.Currency)?.Name ?? "",
-                            receivablesType = setData.Find(it => it.Id == item_pr.ReceivablesType)?.Name ?? ""
-                        });
                     }
                     if (str_schedule.Length > 0)
                     {
@@ -1755,7 +1746,6 @@ namespace OASystem.API.Controllers
                     item_rst.balPrice = ((sum_fr + sum_extra) - (sum_pr - sum_refund)).ToString("#0.00");
                     item_rst.prClient = str_client;
                     item_rst.schedule = str_schedule;
-                    item_rst.prItem = prDatas;
 
                     string tempVisitDate = Convert.ToDateTime(item_rst.visitDate).ToString("yyyy-MM-dd");
 
@@ -1763,6 +1753,58 @@ namespace OASystem.API.Controllers
                     sumAll_pr += (sum_pr - sum_refund);
                     sumAll_balance += ((sum_fr + sum_extra) - (sum_pr - sum_refund));
 
+                    #region 单位应收已收细项(以应收费用名称为主去(已收费用)匹配) 新增 雷怡 2024-35-08 16:35:28
+
+                    List<ClientFeeInfoView> feeDatas = new List<ClientFeeInfoView>();
+
+                    //匹配上的数据
+                    foreach (var item in list_fr)
+                    {
+                        var prInfo = list_pr.Find(it => item.PriceName.Contains(it.Client) || item.PriceName.Equals(it.Client));
+
+                        decimal _balancePayment = 0.00M;
+                        if (item.Currency == prInfo?.Currency)
+                        {
+                            _balancePayment = item.ItemSumPrice - prInfo?.Price ?? 0.00M;
+                        }
+
+                        feeDatas.Add(new ClientFeeInfoView
+                        {
+                            client = item.PriceName,
+                            frMoney = item.ItemSumPrice.ToString("#0.00"),
+                            frCurrency = setData.Find(it => it.Id == item.Currency)?.Name ?? "-",
+                            frRate = item.Rate.ToString("#0.0000"),
+                            prReceivablesType = setData.Find(it => it.Id == prInfo?.ReceivablesType)?.Name ?? "",
+                            prTime = prInfo?.SectionTime ?? "-",
+                            prMoney = prInfo?.Price.ToString("#0.00") ?? "-",
+                            prCurrency = setData.Find(it => it.Id == prInfo?.Currency)?.Name ?? "",
+                            balPayment = _balancePayment.ToString("#0.00")
+                        });
+                    }
+                    //未匹配上的数据
+                    foreach (var item in list_pr)
+                    {
+                        var frInfo = list_fr.Find(it => it.PriceName.Contains(item.Client) || it.PriceName.Equals(item.Client));
+                        if (frInfo == null)
+                        {
+                            feeDatas.Add(new ClientFeeInfoView
+                            {
+                                client = item.Client+ "[未匹配上的已收数据(应收已收公司名称不一致)]",
+                                frMoney = "0.00",
+                                frCurrency =  "-",
+                                frRate ="0.0000",
+                                prReceivablesType = setData.Find(it => it.Id == item?.ReceivablesType)?.Name ?? "",
+                                prTime = item?.SectionTime ?? "-",
+                                prMoney = item?.Price.ToString("#0.00") ?? "0.00",
+                                prCurrency = setData.Find(it => it.Id == item?.Currency)?.Name ?? "",
+                                balPayment = "0.00"
+                            });
+                        }
+                    }
+
+
+                    item_rst.feeItem = feeDatas;
+                    #endregion
                 }
 
                 PostSyntheticalReceivableByDateRangeResultView result = new PostSyntheticalReceivableByDateRangeResultView();

+ 35 - 13
OASystem/OASystem.Domain/ViewModels/Financial/Fin_ForeignReceivablesView.cs

@@ -384,40 +384,62 @@ namespace OASystem.Domain.ViewModels.Financial
         /// <summary>
         /// 子项明细
         /// </summary>
-        public List<ProceedsReceivedInfoView>? prItem { get; set; }
+        public List<ClientFeeInfoView>? feeItem { get; set; }
     }
 
     /// <summary>
-    /// 已收详情 Info View
+    /// 单位应收已收详情 Info View
     /// 新增
     /// 雷怡 2024-01-08 11:01:55
     /// </summary>
-    public class ProceedsReceivedInfoView
+    public class ClientFeeInfoView
     {
         /// <summary>
-        /// 到款时间
+        /// 付款单位
         /// </summary>
-        public string time { get; set; }
+        public string client { get; set; }
 
         /// <summary>
-        /// 付款单位
+        /// 金额 - 应收
         /// </summary>
-        public string client { get; set; }
+        public string frMoney { get; set; }
+
+        /// <summary>
+        /// 汇率 - 应收
+        /// </summary>
+        public string frRate { get; set; }
+
+        /// <summary>
+        /// 币种 - 应收
+        /// </summary>
+        public string frCurrency { get; set; }
+
+
+        /// <summary>
+        /// 付款类型(转账,刷卡等) - 已收
+        /// </summary>
+        public string prReceivablesType { get; set; }
 
         /// <summary>
-        /// 付款金额
+        /// 到款时间 - 已收
         /// </summary>
-        public string money { get; set; }
+        public string prTime { get; set; }
 
         /// <summary>
-        /// 付款币种
+        /// 付款金额 - 已收
         /// </summary>
-        public string currency { get; set; }
+        public string prMoney { get; set; }
 
         /// <summary>
-        /// 付款类型(转账,刷卡等)
+        /// 付款币种 - 已收
         /// </summary>
-        public string receivablesType { get; set; }
+        public string prCurrency { get; set; }
+
+        /// <summary>
+        /// 尾款
+        /// </summary>
+        public string balPayment { get; set; }
+
     }
 
     #endregion