소스 검색

更改团组汇率数据类型

leiy 1 년 전
부모
커밋
91a6a61327

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

@@ -593,11 +593,11 @@ namespace OASystem.API.Controllers
                 if (entity.PayPercentage == 0)
                 {
                     if (entity.PayThenMoney != 0)
-                        CurrPayStr = entity.PayThenMoney * decimal.Parse(entity.DayRate);
+                        CurrPayStr = entity.PayThenMoney * entity.DayRate;
                 }
                 else
                 {
-                    CurrPayStr = entity.PayMoney * (decimal.Parse(entity.PayPercentage.ToString("#0.00")) / 100 * decimal.Parse(entity.DayRate));
+                    CurrPayStr = entity.PayMoney * (decimal.Parse(entity.PayPercentage.ToString("#0.00")) / 100 * entity.DayRate);
                 }
                 _detail.CurrPay = CurrPayStr.ToString("#0.00") + " CNY";
 
@@ -605,10 +605,10 @@ namespace OASystem.API.Controllers
                  * 剩余尾款
                  */
                 decimal BalanceStr = 0;
-                if (entity.PayMoney - (CurrPayStr / decimal.Parse(entity.DayRate)) < 0.01M)
+                if (entity.PayMoney - (CurrPayStr / entity.DayRate) < 0.01M)
                     BalanceStr = 0;
                 else
-                    BalanceStr = (entity.PayMoney - CurrPayStr / decimal.Parse(entity.DayRate));
+                    BalanceStr = (entity.PayMoney - CurrPayStr / entity.DayRate);
 
                 _detail.Balance = BalanceStr.ToString("#0.00") + " " + PaymentCurrency_WaitPay;
 

+ 28 - 2
OASystem/OASystem.Api/OAMethodLib/GroupCommission.cs

@@ -17,7 +17,7 @@ namespace OASystem.API.OAMethodLib
         //团组信息
         private readonly static DelegationInfoRepository _dirRep = AutofacIocManager.Instance.GetService<DelegationInfoRepository>(); 
         //团组实付金额
-        private readonly static CreditCardPaymentRepository ccpRep = AutofacIocManager.Instance.GetService<CreditCardPaymentRepository>();
+        private readonly static CreditCardPaymentRepository _ccpRep = AutofacIocManager.Instance.GetService<CreditCardPaymentRepository>();
         //团组应收款项
         private readonly static ForeignReceivablesRepository _frRep = AutofacIocManager.Instance.GetService<ForeignReceivablesRepository>();
         //团组已收款项
@@ -61,7 +61,9 @@ namespace OASystem.API.OAMethodLib
                     refund = 0.00M, //团组 退款和其他费用
                     cost = 0.00M;   //团组成本费用
             if (DiId == 0) return;
-            
+
+            #region 计算各项费用
+
             //应收款项
             Result frData = await _frRep.GetGroupReceivablesByDiid(DiId);
             if (frData.Code == 0 && frData.Data != null)
@@ -83,6 +85,30 @@ namespace OASystem.API.OAMethodLib
             }
 
             //收款退还费用
+            Result ccpData = await _ccpRep.GetGroupRefundByDiid(DiId, true);
+            if (ccpData.Code == 0 && ccpData.Data != null)
+            {
+                foreach (var item in ccpData.Data)
+                {
+                    refund += item.Price;
+                }
+            }
+
+            //实际的团组类型已收金额需除去退款 
+            sumPr = sumPr - refund;
+
+            //团组与非团组产生的成本费用数据
+            Result _ccpData =  await _ccpRep.GetGroupPaymentInfoByDiid(DiId, true);
+            if (_ccpData.Code == 0 && _ccpData.Data != null)
+            {
+                foreach (Grp_Fin_CreditCardPaymentView item in _ccpData.Data)
+                {
+                    if (item.PayThenMoney != 0M)
+                        cost += item.PayThenMoney * item.DayRate;
+
+                }
+            }
+            #endregion
         }
     }
 }

+ 6 - 6
OASystem/OASystem.Domain/Entities/Groups/Grp_CreditCardPayment.cs

@@ -55,8 +55,8 @@ namespace OASystem.Domain.Entities.Groups
         /// <summary>
         /// 当天汇率
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(MAX)")]
-        public string DayRate { get; set; }
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal DayRate { get; set; }
         /// <summary>
         /// 公司银行卡号
         /// </summary>
@@ -115,8 +115,8 @@ namespace OASystem.Domain.Entities.Groups
         /// <summary>
         /// 财务部审核时间
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "DateTime")]
-        public DateTime AuditMFDate { get; set; }
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
+        public string? AuditMFDate { get; set; }
 
         /// <summary>
         /// 总经理是否审核  0 未审核 1已通过 2未通过
@@ -193,8 +193,8 @@ namespace OASystem.Domain.Entities.Groups
         /// <summary>
         /// 费用标识
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string? OrbitalPrivateTransfer { get; set; }
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int OrbitalPrivateTransfer { get; set; }
 
         /// <summary>
         /// 超出预算比例

+ 95 - 95
OASystem/OASystem.Domain/Entities/Groups/Grp_TeamRate.cs

@@ -27,124 +27,124 @@ namespace OASystem.Domain.Entities.Groups
         /// 其他汇率名称
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string OtherRate { get; set; }
+        public string? OtherRate { get; set; }
 
         /// <summary>
         /// 其他汇率金额
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string OtherPrice { get; set; }
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
+        public decimal OtherPrice { get; set; }
 
         /// <summary>
         /// 美元汇率
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string RateU { get; set; }
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateU { get; set; }
 
         /// <summary>
         /// 欧元汇率
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string RateE { get; set; }
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateE { get; set; }
         /// <summary>
         /// 日元汇率
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string RateJ { get; set; }
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateJ { get; set; }
         /// <summary>
         /// 港币汇率
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string RateH { get; set; }
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateH { get; set; }
         /// <summary>
         /// 新西兰元汇率
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string RateN { get; set; }
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateN { get; set; }
         /// <summary>
         /// 新加坡币汇率
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string RateS { get; set; }
-        /// <summary>
-        /// 澳大利亚元汇率
-        /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string RateA { get; set; }
-        /// <summary>
-        /// 加拿大元汇率
-        /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string RateC { get; set; }
-        /// <summary>
-        /// 泰铢汇率
-        /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string RateT { get; set; }
-        /// <summary>
-        /// 波兰汇率
-        /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string RateBL { get; set; }
-        /// <summary>
-        /// 韩币
-        /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string RateHB { get; set; }
-        /// <summary>
-        /// 斐济币汇率
-        /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string RateFJD { get; set; }
-        /// <summary>
-        /// 土耳其币汇率
-        /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string RateTL { get; set; }
-        /// <summary>
-        /// 卢比汇率
-        /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string RateRP { get; set; }
-        /// <summary>
-        /// 菲律宾汇率
-        /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string RatePeso { get; set; }
-        /// <summary>
-        /// 马来西亚汇率
-        /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string RateMYR { get; set; }
-        /// <summary>
-        /// 捷克币汇率
-        /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string RateCZK { get; set; }
-        /// <summary>
-        /// 墨西哥币汇率
-        /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string RateMXN { get; set; }
-        /// <summary>
-        /// 澳门元
-        /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string RateMOP { get; set; }
-        /// <summary>
-        /// 阿根廷比索
-        /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string RateARS { get; set; }
-        /// <summary>
-        /// 匈牙利货币
-        /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string RateHUF { get; set; }
-        /// <summary>
-        /// 俄罗斯卢布
-        /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
-        public string RateRUB { get; set; }
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateS { get; set; }                
+        /// <summary>                                    
+        /// 澳大利亚元汇率                               
+        /// </summary>                                   
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateA { get; set; }                 
+        /// <summary>                                     
+        /// 加拿大元汇率                                  
+        /// </summary>                                    
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateC { get; set; }                 
+        /// <summary>                                     
+        /// 泰铢汇率                                      
+        /// </summary>                                    
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateT { get; set; }                
+        /// <summary>                                    
+        /// 波兰汇率                                     
+        /// </summary>                                   
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateBL { get; set; }                
+        /// <summary>                                     
+        /// 韩币                                          
+        /// </summary>                                    
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateHB { get; set; }                
+        /// <summary>                                     
+        /// 斐济币汇率                                    
+        /// </summary>                                    
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateFJD { get; set; }               
+        /// <summary>                                     
+        /// 土耳其币汇率                                  
+        /// </summary>                                    
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateTL { get; set; }                
+        /// <summary>                                     
+        /// 卢比汇率                                      
+        /// </summary>                                    
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateRP { get; set; }               
+        /// <summary>                                    
+        /// 菲律宾汇率                                   
+        /// </summary>                                   
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RatePeso { get; set; }              
+        /// <summary>                                     
+        /// 马来西亚汇率                                  
+        /// </summary>                                    
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateMYR { get; set; }               
+        /// <summary>                                     
+        /// 捷克币汇率                                    
+        /// </summary>                                    
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateCZK { get; set; }               
+        /// <summary>                                     
+        /// 墨西哥币汇率                                  
+        /// </summary>                                    
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateMXN { get; set; }              
+        /// <summary>                                    
+        /// 澳门元                                       
+        /// </summary>                                   
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateMOP { get; set; }               
+        /// <summary>                                     
+        /// 阿根廷比索                                    
+        /// </summary>                                    
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateARS { get; set; }               
+        /// <summary>                                     
+        /// 匈牙利货币                                    
+        /// </summary>                                    
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateHUF { get; set; }               
+        /// <summary>                                     
+        /// 俄罗斯卢布                                    
+        /// </summary>                                    
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateRUB { get; set; }
     }
 }

+ 0 - 25
OASystem/OASystem.Domain/ViewModels/Financial/Fin_ProceedsReceivedView.cs

@@ -14,29 +14,4 @@ namespace OASystem.Domain.ViewModels.Financial
     {
     }
 
-    /// <summary>
-    /// 团组退款/其他款项 View
-    /// </summary>
-    public class GroupRefundView
-    {
-        /// <summary>
-        /// 创建用户Id 
-        /// </summary>
-        public int CreateUserId { get; set; }
-
-        /// <summary>
-        /// 总经理审核时间
-        /// </summary>
-        public string? AuditGMDate { get; set; }
-
-        /// <summary>
-        /// 支付方式
-        /// </summary>
-        public string? PayType { get; set; }
-
-        /// <summary>
-        /// 
-        /// </summary>
-        public int OrbitalPrivateTransfer { get; set; }
-    }
 }

+ 77 - 0
OASystem/OASystem.Domain/ViewModels/Groups/Grp_CreditCardPaymentView.cs

@@ -9,6 +9,83 @@ namespace OASystem.Domain.ViewModels.Groups
 {
     public class Grp_Fin_CreditCardPaymentView:Grp_CreditCardPayment
     { }
+
+    /// <summary>
+    /// 团组退款/其他款项 View
+    /// </summary>
+    public class GroupRefundView
+    {
+        /// <summary>
+        /// 创建用户Id 
+        /// </summary>
+        public int CreateUserId { get; set; }
+
+        /// <summary>
+        /// 总经理审核时间
+        /// </summary>
+        public string? AuditGMDate { get; set; }
+
+        /// <summary>
+        /// 支付方式
+        /// </summary>
+        public string? PayType { get; set; }
+
+        /// <summary>
+        /// 费用表识
+        /// </summary>
+        public int OrbitalPrivateTransfer { get; set; }
+
+        /// <summary>
+        /// 支付方式(设置数据外键编号)
+        /// </summary>
+        public int PayDid { get; set; }
+
+        /// <summary>
+        /// 收款方
+        /// </summary>
+        public string? Payee{ get; set; }
+
+        /// <summary>
+        /// 是否付款
+        /// </summary>
+        public int IsPay { get; set; }
+
+        /// <summary>
+        /// 创建时间
+        /// </summary>
+        public DateTime CreateTime { get; set; }
+
+        /// <summary>
+        /// 费用名称
+        /// </summary>
+        public string? PriceName { get; set; }
+
+        /// <summary>
+        /// 费用金额
+        /// </summary>
+        public decimal Price { get; set; }
+
+        /// <summary>
+        /// 币种
+        /// </summary>
+        public string? Currency { get; set; }
+
+        /// <summary>
+        /// 付款金额
+        /// </summary>
+        public decimal Spread { get; set; }
+
+        /// <summary>
+        /// 当天汇率
+        /// </summary>
+        public decimal DayRate { get; set; }
+
+        /// <summary>
+        /// 备注
+        /// </summary>
+        public string? Remark { get; set; }
+    }
+
     public class Grp_CreditCardPaymentView
     {
         /// <summary>

+ 9 - 3
OASystem/OASystem.Infrastructure/Repositories/Financial/CreditCardPaymentRepository.cs

@@ -63,13 +63,19 @@ namespace OASystem.Infrastructure.Repositories.Financial
             int _isPay = 0;
             if (isPay) { _isPay = 1; }
 
-            string sql = string.Format(@"Select * From Grp_CreditCardPayment Where IsDel=0 And Diid={0} And IsPay={1}", diid, _isPay);
+            string sql = string.Format(@"Select ccp.CreateUserId,ccp.AuditGMDate,sd1.name As PayType,ccp.OrbitalPrivateTransfer,ccp.PayDid,
+                                                            ccp.payee,ccp.IsPay,gdp.CreateTime,gdp.PriceName,gdp.Price,sd.[Name] Currency,
+                                                            ccp.PayMoney As Spread,ccp.DayRate,gdp.Remark From Fin_OtherPrice gdp 
+                                        join Grp_CreditCardPayment ccp On ccp.Diid = gdp.Diid and ccp.Cid = gdp.Id 
+                                        join Sys_SetData sd On sd.Id =gdp.CurrencyId 
+                                        join Sys_SetData sd1 On sd1.id=ccp.PayDid 
+                                        Where ccp.DIId={0} And gdp.IsDel = 0 and ccp.isDel=0 and ccp.CTable=285 and ccp.IsPay = {1} ", diid, _isPay);
 
-            var groupReceivablesList = await _sqlSugar.SqlQueryable<Fin_ProceedsReceivedView>(sql).ToListAsync();
+            var groupRefundList = await _sqlSugar.SqlQueryable<GroupRefundView>(sql).ToListAsync();
 
             result.Code = 0;
             result.Msg = "查询成功!";
-            result.Data = groupReceivablesList;
+            result.Data = groupRefundList;
 
             return result;
         }

+ 4 - 4
OASystem/OASystem.Infrastructure/Repositories/Groups/AirTicketResRepository.cs

@@ -348,13 +348,13 @@ namespace OASystem.Infrastructure.Repositories.Groups
                             }
                             else
                             {
-                                grp_CreditCard.DayRate = "1";
+                                grp_CreditCard.DayRate = 1M;
                                 grp_CreditCard.RMBPrice = grp_CreditCard.PayMoney;
                             }
                         }
                         else
                         {
-                            grp_CreditCard.DayRate = "1";
+                            grp_CreditCard.DayRate = 1M;
                             grp_CreditCard.RMBPrice = grp_CreditCard.PayMoney;
                         }
 
@@ -491,13 +491,13 @@ namespace OASystem.Infrastructure.Repositories.Groups
                             }
                             else
                             {
-                                grp_CreditCard.DayRate = "1";
+                                grp_CreditCard.DayRate = 1M;
                                 grp_CreditCard.RMBPrice = grp_CreditCard.PayMoney;
                             }
                         }
                         else
                         {
-                            grp_CreditCard.DayRate = "1";
+                            grp_CreditCard.DayRate = 1M;
                             grp_CreditCard.RMBPrice = grp_CreditCard.PayMoney;
                         }
                         //grp_CreditCard.PayMoney = grp_CreditCard.PayMoney;

+ 4 - 4
OASystem/OASystem.Infrastructure/Repositories/Groups/DecreasePaymentsRepository.cs

@@ -190,13 +190,13 @@ namespace OASystem.Infrastructure.Repositories.Groups
                                 }
                                 else
                                 {
-                                    C.DayRate = "1";
+                                    C.DayRate = 1M;
                                     C.RMBPrice = C.PayMoney;
                                 }
                             }
                             else
                             {
-                                C.DayRate = "1";
+                                C.DayRate = 1M;
                                 C.RMBPrice = C.PayMoney;
                             }
                             int cId = await _sqlSugar.Insertable(C).ExecuteReturnIdentityAsync();
@@ -251,13 +251,13 @@ namespace OASystem.Infrastructure.Repositories.Groups
                                 }
                                 else
                                 {
-                                    grp_CreditCardPayment.DayRate = "1";
+                                    grp_CreditCardPayment.DayRate = 1M;
                                     grp_CreditCardPayment.RMBPrice = grp_Decrease.Price;
                                 }
                             }
                             else
                             {
-                                grp_CreditCardPayment.DayRate = "1";
+                                grp_CreditCardPayment.DayRate = 1M;
                                 grp_CreditCardPayment.RMBPrice = grp_Decrease.Price;
                             }
                             int CTable = await _sqlSugar.Updateable<Grp_CreditCardPayment>().Where(a => a.Id == grp_CreditCardPayment.Id).SetColumns(a => new Grp_CreditCardPayment

+ 4 - 4
OASystem/OASystem.Infrastructure/Repositories/Groups/InvitationOfficialActivitiesRepository.cs

@@ -223,13 +223,13 @@ namespace OASystem.Infrastructure.Repositories.Groups
                                     }
                                     else
                                     {
-                                        C.DayRate = "1";
+                                        C.DayRate = 1M;
                                         C.RMBPrice = C.PayMoney;
                                     }
                                 }
                                 else
                                 {
-                                    C.DayRate = "1";
+                                    C.DayRate = 1M;
                                     C.RMBPrice = C.PayMoney;
                                 }
                                 int cId = await _sqlSugar.Insertable(C).ExecuteReturnIdentityAsync();
@@ -319,13 +319,13 @@ namespace OASystem.Infrastructure.Repositories.Groups
                                     }
                                     else
                                     {
-                                        grp_CreditCardPayment.DayRate = "1";
+                                        grp_CreditCardPayment.DayRate = 1M;
                                         grp_CreditCardPayment.RMBPrice = grp_CreditCardPayment.PayMoney;
                                     }
                                 }
                                 else
                                 {
-                                    grp_CreditCardPayment.DayRate = "1";
+                                    grp_CreditCardPayment.DayRate = 1M;
                                     grp_CreditCardPayment.RMBPrice = grp_CreditCardPayment.PayMoney;
                                 }
                                 int CTable = await _sqlSugar.Updateable<Grp_CreditCardPayment>().Where(a => a.Id == grp_CreditCardPayment.Id).SetColumns(a => new Grp_CreditCardPayment

+ 1 - 1
OASystem/_Doc/OA2023数据字典.docx

@@ -2755,7 +2755,7 @@ Null
 付款币种
 数据类型Id
 DayRate
-varchar(MAX)
+Decimal(10,4)
 Null
 
 当天汇率