Browse Source

应收报表 更改计算方式
应收报表 计算方式:
应收合计 = 收款账单 Fin_ForeignReceivables.Sum()+超支 Fin_GroupExtraCost.Sum();
已收合计 = 已收款项 Fin_ProceedsReceived.Sum()-收款退还 Fin_PaymentRefundAndOtherMoney.Sum();
尾款 = 应收合计 - 已收合计;

leiy 11 months ago
parent
commit
c5e869a53d

+ 25 - 32
OASystem/OASystem.Api/Controllers/FinancialController.cs

@@ -1370,7 +1370,7 @@ namespace OASystem.API.Controllers
 
         #endregion
 
-        #region 收款退还与其他款项 
+        #region 收款退还与其他款项 --> 收款退还
 
         /// <summary>
         /// 收款退还与其他款项
@@ -1534,7 +1534,7 @@ namespace OASystem.API.Controllers
         }
 
         /// <summary>
-        /// 收款退还与其他款项
+        /// 收款退还与其他款项 --> 收款退还(只保留人名币)
         /// 操作(Add Or Edit)
         /// </summary>
         /// <param name="dto"></param>
@@ -1667,8 +1667,8 @@ namespace OASystem.API.Controllers
                     decimal sum_fr = 0M;
                     decimal sum_pr = 0M;
                     string str_client = string.Empty;
-                    //decimal sum_other = 0M; //收款退还
-                    //decimal sum_extra = 0M; //超支费用
+                    decimal sum_refund = 0M; //收款退还
+                    decimal sum_extra = 0M; //超支费用
                     decimal balance = 0M;
                     string str_schedule = string.Empty;
 
@@ -1695,42 +1695,35 @@ namespace OASystem.API.Controllers
                         str_client = str_client.TrimEnd(';');
                     }
 
-                    //                    //3.
-                    //                    string sql_other = string.Format(@" Select * From Fin_OtherPrice where diid = {0} and isdel = 0 and RefundType = 1 and PayType=1 ", diId);
-                    //                    List<Fin_OtherPrice> list_other = _sqlSugar.SqlQueryable<Fin_OtherPrice>(sql_other).ToList();
-                    //                    sum_other = list_other.Sum(s => s.Price);
-
-                    //                    //4.
-                    //                    string sql_extra = string.Format(@" Select c.* From Fin_GroupExtraCost f 
-                    //Inner join Grp_CreditCardPayment c On f.Id = c.CId 
-                    //Where c.CTable = 1015 And c.IsPay = 1 And f.IsDel = 0 And c.IsDel = 0 And f.DiId = {0} ", diId);
-                    //                    List<Grp_CreditCardPayment> list_extra = _sqlSugar.SqlQueryable<Grp_CreditCardPayment>(sql_extra).ToList();
-                    //                    sum_extra = list_extra.Sum(s => s.RMBPrice);
-
-                    //item_rst.frPrice = (sum_fr + sum_extra).ToString("#0.00");
-                    //item_rst.prPrice = (sum_pr - sum_other).ToString("#0.00");
-                    //item_rst.balPrice = ((sum_fr + sum_extra) - (sum_pr - sum_other)).ToString("#0.00");
-                    //item_rst.prClient = str_client;
-                    //item_rst.schedule = str_schedule;
-
-                    //string tempVisitDate = Convert.ToDateTime(item_rst.visitDate).ToString("yyyy-MM-dd");
-
-                    //sumAll_fr += (sum_fr + sum_extra);
-                    //sumAll_pr += (sum_pr - sum_other);
-                    //sumAll_balance += ((sum_fr + sum_extra) - (sum_pr - sum_other));
+                    //3.收款退还
+                    string sql_other = string.Format(@"Select * From  Fin_PaymentRefundAndOtherMoney prao
+					  Inner Join Grp_CreditCardPayment ccp On prao.Id = ccp.CId
+					  Where ccp.CTable = 285 And ccp.IsPay = 1 And prao.IsDel = 0 And ccp.IsDel = 0 And prao.DiId = {0}", diId);
+                    List<Grp_CreditCardPayment> list_other = _sqlSugar.SqlQueryable<Grp_CreditCardPayment>(sql_other).ToList();
+                    sum_refund = list_other.Sum(s => s.RMBPrice);
 
+                    //4.超支
+                    string sql_extra = string.Format(@" Select c.* From Fin_GroupExtraCost f 
+                    Inner join Grp_CreditCardPayment c On f.Id = c.CId 
+                    Where c.CTable = 1015 And c.IsPay = 1 And f.IsDel = 0 And c.IsDel = 0 And f.DiId = {0} ", diId);
+                    List<Grp_CreditCardPayment> list_extra = _sqlSugar.SqlQueryable<Grp_CreditCardPayment>(sql_extra).ToList();
+                    sum_extra = list_extra.Sum(s => s.RMBPrice);
 
                     item_rst.frPrice = sum_fr.ToString("#0.00");
-                    item_rst.prPrice = sum_pr.ToString("#0.00");
-                    item_rst.balPrice = (sum_fr - sum_pr).ToString("#0.00");
+                    item_rst.extraPrice = sum_extra.ToString("#0.00");
+                    item_rst.receivableTotal = (sum_fr + sum_extra).ToString("#0.00");
+                    item_rst.prPrice = (sum_pr).ToString("#0.00");
+                    item_rst.refundAmount = sum_refund.ToString("#0.00");
+                    item_rst.receivedTotal = (sum_pr - sum_refund).ToString("#0.00");
+                    item_rst.balPrice = ((sum_fr + sum_extra) - (sum_pr - sum_refund)).ToString("#0.00");
                     item_rst.prClient = str_client;
                     item_rst.schedule = str_schedule;
 
                     string tempVisitDate = Convert.ToDateTime(item_rst.visitDate).ToString("yyyy-MM-dd");
 
-                    sumAll_fr += sum_fr;
-                    sumAll_pr += sum_pr;
-                    sumAll_balance += sum_fr - sum_pr;
+                    sumAll_fr += (sum_fr + sum_extra);
+                    sumAll_pr += (sum_pr - sum_refund);
+                    sumAll_balance += ((sum_fr + sum_extra) - (sum_pr - sum_refund));
 
                 }
 

+ 1 - 1
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -2723,7 +2723,7 @@ namespace OASystem.API.Controllers
         }
         #endregion
 
-        #region 团组增减款项/其他款项
+        #region 团组增减款项 --> 其他款项
         /// <summary>
         /// 团组增减款项下拉框绑定
         /// </summary>

+ 21 - 1
OASystem/OASystem.Domain/ViewModels/Financial/Fin_ForeignReceivablesView.cs

@@ -320,13 +320,33 @@ namespace OASystem.Domain.ViewModels.Financial
         /// </summary>
         public string frPrice { get; set; }
 
+        /// <summary>
+        /// 超支
+        /// </summary>
+        public string extraPrice { get; set; }
+
+        /// <summary>
+        /// 应收总计(应收+超支)
+        /// </summary>
+        public string receivableTotal { get; set; }
+
         /// <summary>
         /// 已收
         /// </summary>
         public string prPrice { get; set; }
 
         /// <summary>
-        /// 余款
+        /// 退款-->收款退还
+        /// </summary>
+        public string refundAmount { get; set; }
+
+        /// <summary>
+        /// 已收总计(已收-收款退还)
+        /// </summary>
+        public string receivedTotal { get; set; }
+
+        /// <summary>
+        /// 余款(应收 - 已收)
         /// </summary>
         public string balPrice { get; set; }
 

+ 28 - 28
OASystem/OASystem.Infrastructure/Repositories/Financial/PaymentRefundAndOtherMoneyRepository.cs

@@ -231,39 +231,39 @@ namespace OASystem.Infrastructure.Repositories.Financial
                 decimal dayRate = 0.00M;
                 decimal CNY_Price = 0.00M;
                 decimal payThenMoney = 0.00M;
-                #region 其他款项 团组汇率 验证
+                #region 收款退还 团组汇率 验证 暂时注释
                 if (dto.CurrencyId == 836) //人民币币种Id
                 {
                     dayRate = 1.0000M;
                     CNY_Price = dto.Price;
                     payThenMoney = dto.Price;
                 }
-                else //其他币种Id
-                {
-                    List<TeamRateModelView> teamReteDatas = await _teamRateRep.PostGroupRateInfoByDiId(dto.DiId);
-                    if (teamReteDatas.Count <= 0)
-                    {
-                        _result.Msg = "该团未设置团组汇率,请先设置!";
-                        return _result;
-                    }
-
-                    var teamReteData1 = teamReteDatas.Where(it => it.CTableId == 98).FirstOrDefault();
-                    if (teamReteData1 == null)
-                    {
-                        _result.Msg = "该团下的“其他款项”未设置团组汇率,请先设置!";
-                        return _result;
-                    }
-
-                    var teamReteData2 = teamReteData1.TeamRates.Where(it => it.CurrencyCode == dto.CurrencyCode).FirstOrDefault();
-                    if (teamReteData2 == null)
-                    {
-                        _result.Msg = $"该团下的“其他款项”币种 “{dto.CurrencyCode}”未设置团组汇率,请先设置!";
-                        return _result;
-                    }
-                    dayRate = teamReteData2.Rate;
-                    CNY_Price = dayRate * dayRate;
-                    payThenMoney = dayRate * dayRate;
-                }
+                //else //其他币种Id
+                //{
+                //    List<TeamRateModelView> teamReteDatas = await _teamRateRep.PostGroupRateInfoByDiId(dto.DiId);
+                //    if (teamReteDatas.Count <= 0)
+                //    {
+                //        _result.Msg = "该团未设置团组汇率,请先设置!";
+                //        return _result;
+                //    }
+
+                //    var teamReteData1 = teamReteDatas.Where(it => it.CTableId == 98).FirstOrDefault();
+                //    if (teamReteData1 == null)
+                //    {
+                //        _result.Msg = "该团下的“其他款项”未设置团组汇率,请先设置!";
+                //        return _result;
+                //    }
+
+                //    var teamReteData2 = teamReteData1.TeamRates.Where(it => it.CurrencyCode == dto.CurrencyCode).FirstOrDefault();
+                //    if (teamReteData2 == null)
+                //    {
+                //        _result.Msg = $"该团下的“其他款项”币种 “{dto.CurrencyCode}”未设置团组汇率,请先设置!";
+                //        return _result;
+                //    }
+                //    dayRate = teamReteData2.Rate;
+                //    CNY_Price = dayRate * dayRate;
+                //    payThenMoney = dayRate * dayRate;
+                //}
 
                 #endregion
 
@@ -271,7 +271,7 @@ namespace OASystem.Infrastructure.Repositories.Financial
                     //Id = dto.CcpId,
                     //CId = dto.CcpId,
                     DIId = dto.DiId,
-                    CTable = 285,// 285 --> 98
+                    CTable = 285,// 285 
                     PayDId = dto.PayDId,
                     ConsumptionPatterns = dto.ConsumptionPatterns,
                     ConsumptionDate = string.Empty,