Sfoglia il codice sorgente

Merge branch 'develop' of http://132.232.92.186:3000/XinXiBu/OA2023 into develop

yuanrf 1 mese fa
parent
commit
90bb20b3a9

+ 7 - 18
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -3989,6 +3989,7 @@ FROM
                 throw;
             }
         }
+        
         /// <summary>
         /// 机票费用录入列表
         /// </summary>
@@ -4013,6 +4014,7 @@ FROM
                 throw;
             }
         }
+        
         /// <summary>
         /// 根据id查询费用录入信息
         /// </summary>
@@ -4029,6 +4031,7 @@ FROM
             }
             return Ok(JsonView(true, groupData.Msg, groupData.Data));
         }
+        
         /// <summary>
         /// 机票费用录入操作(Status:1.新增,2.修改)
         /// </summary>
@@ -4235,6 +4238,7 @@ FROM
                 throw;
             }
         }
+        
         /// <summary>
         /// 导出机票录入报表
         /// </summary>
@@ -4977,24 +4981,6 @@ FROM
 
         }
 
-        /// <summary>
-        /// 团组增减款项操作 自动审核test
-        /// </summary>
-        /// <param name="groupId"></param>
-        /// <param name="dataId"></param>
-        /// <returns></returns>
-        [HttpPost]
-        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
-        public async Task<IActionResult> DecreaseFeeAutomaticAudit(int groupId,int dataId)
-        {
-            //自动审核
-            var autoAdit = await _feeAuditRep.FeeAutomaticAudit(3, groupId, dataId);
-
-
-            return Ok(autoAdit);
-
-        }
-
         /// <summary>
         /// 团组增减款项操作 删除
         /// </summary>
@@ -14047,6 +14033,7 @@ FROM
             return Ok(JsonView(true, groupData.Msg, groupData.Data));
 
         }
+        
         /// <summary>
         /// 根据签证费用Id查询单条数据及c表数据
         /// </summary>
@@ -14063,6 +14050,7 @@ FROM
             }
             return Ok(JsonView(true, groupData.Msg, groupData.Data));
         }
+        
         /// <summary>
         /// 签证费用删除
         /// </summary>
@@ -14100,6 +14088,7 @@ FROM
             return Ok(JsonView(true, "删除成功!"));
 
         }
+        
         /// <summary>
         /// 签证费用录入下拉框初始化
         /// </summary>

+ 31 - 19
OASystem/OASystem.Api/Controllers/StatisticsController.cs

@@ -434,9 +434,14 @@ namespace OASystem.API.Controllers
                 #region 团组支出
                 GroupExpenditureView _geView = new GroupExpenditureView();
 
-                var isAuditSql = string.Format($"And (ccp.IsAuditGM = 1 OR ccp.IsAuditGM = 3)");
+                var isAudit = _dto.isAudit;
+                var isAuditSql = string.Format($" AND (ccp.IsAuditGM = 1 OR ccp.IsAuditGM = 3) ");
+                var isAuditStatus = new int[] { 
+                    1, //已通过
+                    3, //自动审核
+                };
 
-                #region 酒店预定费用
+                #region 酒店预定费用 76 isAuditSql
                 List<GroupHotelFeeView> groupHotelFeeViews = new List<GroupHotelFeeView>();
 
                 //ccp.RMBPrice As CNYPrice
@@ -495,7 +500,8 @@ WHERE
   AND ccp.PayMoney <> 0
   AND hr.DiId = {0}
 ORDER BY
-  CheckInDate Asc", _dto.DiId, _dto.isAudit ? isAuditSql : " ");
+  CheckInDate Asc",
+  _dto.DiId, _dto.isAudit ? isAuditSql : string.Empty);
 
                 groupHotelFeeViews = await _sqlSugar.SqlQueryable<GroupHotelFeeView>(hotelFeeSql).ToListAsync();
 
@@ -618,7 +624,7 @@ ORDER BY
 
                 #endregion
 
-                #region 地接费用
+                #region 地接费用 79 isAuditSql
 
                 List<GroupCTGGRFeeView> groupCTGGRFeeViews = new List<GroupCTGGRFeeView>();
                 string CTGGRFeeSql = string.Empty;
@@ -643,7 +649,7 @@ ORDER BY
                                                      Left Join Sys_SetData sd2 On ccp.PaymentCurrency = sd2.Id
                                                      Left Join Sys_Users u On ccp.CreateUserId = u.Id
                                                      Where ctggr.IsDel = 0 {1} And ctggr.DiId = {0}
-                                                     Order By CreateTime", _dto.DiId, _dto.isAudit ? "And (ccp.IsAuditGM = 1 OR ccp.IsAuditGM = 3)" : " ");
+                                                     Order By CreateTime", _dto.DiId, _dto.isAudit ? isAuditSql : string.Empty);
                 }
                 else
                 {
@@ -660,7 +666,7 @@ ORDER BY
                                                      Left Join Sys_SetData sd2 On ccp.PaymentCurrency = sd2.Id
                                                      Left Join Sys_Users u On ccp.CreateUserId = u.Id
                                                      Where ctggr.IsDel = 0 {1} And ctggr.DiId = {0}
-                                                     Order By CreateTime", _dto.DiId, _dto.isAudit ? isAuditSql : " ");
+                                                     Order By CreateTime", _dto.DiId, _dto.isAudit ? isAuditSql : string.Empty);
                 }
 
                 groupCTGGRFeeViews = await _sqlSugar.SqlQueryable<GroupCTGGRFeeView>(CTGGRFeeSql).ToListAsync();
@@ -735,7 +741,7 @@ ORDER BY
                 _geView.GroupCTGGRFeeStr = string.Format(@"{0}人民币总费用:{1} CNY", CTGGRFeeStr, CTGGRCNYTotalPrice.ToString("#0.00"));
                 #endregion
 
-                #region 机票预订费用
+                #region 机票预订费用 85 isAuditSql
                 //(((ccp.PayMoney * ccp.DayRate) / ccp.PayPercentage) * 100) As CNYPrice
                 //ccp.RMBPrice As CNYPrice
                 List<GroupAirFeeView> groupAirFeeViews = new List<GroupAirFeeView>();
@@ -751,7 +757,8 @@ ORDER BY
                                                         Left Join Sys_SetData sd3 On ccp.CTDId = sd3.Id
                                                         Left Join Sys_SetData sd4 On atr.CType = sd4.Id
                                                         Left Join Sys_Users u On ccp.CreateUserId = u.Id
-                                                        Where atr.IsDel = 0 {1} And atr.DiId = {0} Order By CreateTime", _dto.DiId, _dto.isAudit ? "And ccp.IsAuditGM = 1" : " ");
+                                                        Where atr.IsDel = 0 {1} And atr.DiId = {0} Order By CreateTime", 
+                                                        _dto.DiId, _dto.isAudit ? isAuditSql : string.Empty);
                 groupAirFeeViews = await _sqlSugar.SqlQueryable<GroupAirFeeView>(groupAirFeeSql).ToListAsync();
 
                 string str = "";
@@ -951,7 +958,7 @@ ORDER BY
                 _geView.GroupAirFeeStr = $@"人民币总费用:{AirCNYTotalPrice.ToString("#0.00")} CNY\r\n{str}\r\n经济舱均价为:{JJCAveragePrice.ToString("#0.00")}CNY/人;公务舱均价为:{GWCAveragePrice.ToString("#0.00")}CNY/人;";
                 #endregion
 
-                #region 签证费用
+                #region 签证费用 80 isAuditSql
 
                 List<GroupVisaFeeView> groupVisaFeeViews = new List<GroupVisaFeeView>();
                 string groupVisaFeeSql = string.Format(@"Select vi.Id As VisaId,vi.DIId As VisaDiId,vi.VisaClient,ccp.PayMoney,sd1.Name As PayMoneyCurrency,
@@ -964,7 +971,8 @@ ORDER BY
                                                          Left Join Sys_SetData sd2 On ccp.PayDId = sd2.Id
                                                          Left Join Sys_SetData sd3 On ccp.CTDId = sd3.Id
                                                          Left Join Sys_Users u On ccp.CreateUserId = u.Id
-                                                         Where vi.IsDel = 0 {1} And vi.DIId = {0} Order By CreateTime", _dto.DiId, _dto.isAudit ? isAuditSql : " ");
+                                                         Where vi.IsDel = 0 {1} And vi.DIId = {0} Order By CreateTime", 
+                                                         _dto.DiId, _dto.isAudit ? isAuditSql : string.Empty);
 
                 groupVisaFeeViews = await _sqlSugar.SqlQueryable<GroupVisaFeeView>(groupVisaFeeSql).ToListAsync();
 
@@ -1026,7 +1034,7 @@ ORDER BY
                 _geView.GroupVisaFeeStr = string.Format(@"人民币总费用:{0} CNY", VisaCNYTotalPirce.ConvertToDecimal1().ToString("#.00"));
                 #endregion
 
-                #region 邀请/公务活动  CTable = 81
+                #region 邀请/公务活动 81 isAuditSql
 
                 List<GroupInvitationalFeeView> groupInvitationalFeeViews = new List<GroupInvitationalFeeView>();
                 string groupInvitationalFeeSql = string.Format(@"Select ioa.Id As IOAId,ioa.DiId As IOADiId,ioa.InviterArea,ioa.Inviter,ioa.InviteTime,
@@ -1045,7 +1053,8 @@ ORDER BY
                                                                  Left Join Sys_SetData sd6 On ioa.TranslateCurrency = sd6.Id
                                                                  Left Join Sys_SetData sd7 On ccp.PaymentCurrency = sd7.Id
                                                                  Left Join Sys_Users u On ccp.CreateUserId = u.Id
-                                                                 Where ioa.IsDel = 0 {1} And  ioa.Diid = {0} Order By CreateTime", _dto.DiId, _dto.isAudit ? "And ccp.IsAuditGM = 1" : " ");
+                                                                 Where ioa.IsDel = 0 {1} And  ioa.Diid = {0} Order By CreateTime", 
+                                                                 _dto.DiId, _dto.isAudit ? isAuditSql : string.Empty );
 
                 groupInvitationalFeeViews = await _sqlSugar.SqlQueryable<GroupInvitationalFeeView>(groupInvitationalFeeSql).ToListAsync();
 
@@ -1133,7 +1142,7 @@ ORDER BY
                 _geView.GroupInvitationalFeeStr = string.Format(@"人民币总费用:{0} CNY", InvitationalCNYTotalPrice.ToString("#.00"));
                 #endregion
 
-                #region 保险费用
+                #region 保险费用 82 isAuditSql
                 List<GroupInsuranceFeeView> groupInsuranceFeeViews = new List<GroupInsuranceFeeView>();
                 string groupInsuranceFeeSql = string.Format(@"Select ic.Id As InsuranceId,ic.Diid As InsuranceDiId,ClientName,ccp.PayMoney,ccp.PayMoney * ccp.DayRate As CNYPrice,
                                                               sd1.Name As PayMoneyCurrency,ccp.Payee,ccp.AuditGMDate,ccp.OrbitalPrivateTransfer,
@@ -1143,7 +1152,8 @@ ORDER BY
                                                               Left Join Sys_SetData sd1 On ccp.PaymentCurrency = sd1.Id
                                                               Left Join Sys_SetData sd2 On ccp.PayDId = sd2.Id
                                                               Left Join Sys_Users u On ccp.CreateUserId = u.Id
-                                                              Where ic.IsDel = 0 {1} And ic.DiId = {0} Order By CreateTime", _dto.DiId, _dto.isAudit ? "And ccp.IsAuditGM = 1" : " ");
+                                                              Where ic.IsDel = 0 {1} And ic.DiId = {0} Order By CreateTime", 
+                                                              _dto.DiId, _dto.isAudit ? isAuditSql : string.Empty);
                 groupInsuranceFeeViews = await _sqlSugar.SqlQueryable<GroupInsuranceFeeView>(groupInsuranceFeeSql).ToListAsync();
 
                 decimal InsuranceCNYTotalPrice = 0.00M;
@@ -1216,7 +1226,7 @@ ORDER BY
                 _geView.GroupInsuranceFeeStr = string.Format(@"人民币总费用:{0} CNY", InsuranceCNYTotalPrice.ToString("#0.00"));
                 #endregion
 
-                #region 其他款项费用  98
+                #region 其他款项费用  98 isAuditSql
                 List<GroupDecreaseFeeView> groupDecreaseFeeViews = new List<GroupDecreaseFeeView>();
                 string groupDecreaseFeeSql = string.Format(@"Select dp.Id As DPId,dp.DiId As DPDiId,dp.PriceName,ccp.PayMoney,sd1.Name As PayMoneyCurrency,
                                                               (((ccp.PayMoney * ccp.DayRate) / ccp.PayPercentage) * 100) As CNYPrice,   
@@ -1228,7 +1238,7 @@ ORDER BY
                                                              Left Join Sys_SetData sd2 On ccp.PayDId = sd2.Id
                                                              Left Join Sys_Users u On ccp.CreateUserId = u.Id
                                                              Where dp.IsDel = 0 And ccp.Ctable = 98 {1} And dp.Diid = {0} 
-                                                             Order By CreateTime", _dto.DiId, _dto.isAudit ? "And ccp.IsAuditGM = 1" : " ");
+                                                             Order By CreateTime", _dto.DiId, _dto.isAudit ? isAuditSql : string.Empty);
                 groupDecreaseFeeViews = await _sqlSugar.SqlQueryable<GroupDecreaseFeeView>(groupDecreaseFeeSql).ToListAsync();
 
                 #region 保险费用 - 模拟数据
@@ -1288,7 +1298,7 @@ ORDER BY
                 _geView.GroupDecreaseFeeStr = string.Format(@"人民币总费用:{0} CNY", DecreaseCNYTotalPrice.ToString("#0.00"));
                 #endregion
 
-                #region 公司内部操作人员提成
+                #region 公司内部操作人员提成(提成表) isAudit
 
                 var royaltyDatas = await _sqlSugar
                     .Queryable<Fin_RoyaltyConfirm, Sys_Users, Sys_Users>((rc, u1, u2) =>
@@ -1296,7 +1306,8 @@ ORDER BY
                             JoinType.Left, rc.UserId == u1.Id,
                             JoinType.Left, rc.CreateUserId == u2.Id
                         ))
-                    .Where((rc, u1, u2) => rc.IsDel == 0 && rc.TeamId == _dto.DiId && rc.IsConfirm == 1)
+                    .Where((rc, u1, u2) => rc.IsDel == 0 && rc.TeamId == _dto.DiId)
+                    .WhereIF(isAudit, (rc, u1, u2) => rc.IsConfirm == 1)
                     .Select((rc, u1, u2) => new GroupRoyaltyFeeInfo()
                     {
                         GroupId = rc.TeamId,
@@ -1315,7 +1326,7 @@ ORDER BY
                 _geView.GroupRoyaltyFeeStr = string.Format(@"人民币总费用:{0} CNY", royaltyCNYTotalPrice.ToString("#0.00"));
                 #endregion
 
-                #region 公司内部人员报销
+                #region 公司内部人员报销(日付表) isAuditStatus
                 var reimburseDatas = await _sqlSugar
                     .Queryable<Fin_DailyFeePayment, Sys_Users, Sys_SetData, Sys_Company>((dfp, u, sd1, c) =>
                     new JoinQueryInfos(
@@ -1324,6 +1335,7 @@ ORDER BY
                         JoinType.Left, dfp.CompanyId == c.Id
                         ))
                     .Where((dfp, u, sd1, c) => dfp.IsDel == 0 && dfp.PriceTypeId == 1353 && dfp.GroupId == _dto.DiId)
+                    .WhereIF(isAudit, (dfp, u, sd1, c) => isAuditStatus.Contains(dfp.FAudit) && isAuditStatus.Contains(dfp.MAudit))
                     .Select((dfp, u, sd1, c) => new GroupReimburseFeeInfoView()
                     {
                         TotalAmt = dfp.SumPrice,

+ 2 - 0
OASystem/OASystem.Domain/Dtos/Statistics/GroupStatementDto.cs

@@ -42,6 +42,8 @@ namespace OASystem.Domain.Dtos.Statistics
 
         /// <summary>
         /// 是否审核
+        /// true:查看已审核的数据
+        /// false:查看所有数据
         /// </summary>
         public bool isAudit { get; set; }
     }

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

@@ -153,7 +153,7 @@ namespace OASystem.Domain.Entities.Groups
         /// 是否付款  0 否 1 是
         /// </summary> 
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
-        public int IsPay { get; set; }
+        public int IsPay { get; set; } = 0;
         
         /// <summary>
         /// 此次付款百分比

+ 13 - 2
OASystem/OASystem.Domain/ViewModels/Statistics/GroupStatementView.cs

@@ -1509,8 +1509,19 @@ namespace OASystem.Domain.ViewModels.Statistics
         {
             get
             {
-                var fLabel = FAudit == 0 ? "财务未审核" : FAudit == 1 ? "财务已审核" : "财务审核未通过";
-                var mLabel = MAudit == 0 ? "总经理未审核" : MAudit == 1 ? "总经理已审核" : "总经理审核未通过";
+                string fLabel = $"财务审核:",
+                       mLabel = $"总经理审核:";
+
+                if (FAudit == 0) fLabel += "未审核";
+                else if (FAudit == 1 ) fLabel += "已审核";
+                else if (FAudit == 2) fLabel += "未通过";
+                else if (FAudit == 3) fLabel += "自动审核";
+
+                if (MAudit == 0) mLabel += "未审核";
+                else if (MAudit == 1) mLabel += "已审核";
+                else if (MAudit == 2) mLabel += "未通过";
+                else if (MAudit == 3) mLabel += "自动审核";
+
                 return $"{fLabel}<br />{mLabel}";
             }
         }

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

@@ -449,10 +449,9 @@ namespace OASystem.Infrastructure.Repositories.Groups
                     {
                         Grp_CreditCardPayment grp_CreditCard = _mapper.Map<Grp_CreditCardPayment>(dto.CardPaymentOpData);
 
-                        //PayDId == 刷卡 IsPay == 1
-                        if (dto.CardPaymentOpData.PayDId == 72) grp_CreditCard.IsPay = 1;
-                        else grp_CreditCard.IsPay = 0;
-
+                        //2025-04-07 第四次更改 PayDId == 72(刷卡) IsPay == 1
+                        if (grp_CreditCard.PayDId == 72) grp_CreditCard.IsPay = 1;
+                        
                         //获取新汇率  int diId,int CId, int currencyId
                         var rate = await fn(dto.AirTicketResOpData.DiId, 85, dto.AirTicketResOpData.Currency);
 
@@ -663,9 +662,8 @@ namespace OASystem.Infrastructure.Repositories.Groups
                         //C表操作
                         Grp_CreditCardPayment grp_CreditCard = _mapper.Map<Grp_CreditCardPayment>(dto.CardPaymentOpData);
 
-                        //PayDId == 刷卡 IsPay == 1
+                        //2025-04-07 第四次更改 PayDId == 72(刷卡 IsPay == 1
                         if (grp_CreditCard.PayDId == 72) grp_CreditCard.IsPay = 1;
-                        else grp_CreditCard.IsPay = 0;
 
                         //获取新汇率  int diId,int CId, int currencyId
                         var rate = await fn(dto.AirTicketResOpData.DiId, 85, dto.AirTicketResOpData.Currency);

+ 1 - 1
OASystem/OASystem.Infrastructure/Repositories/Groups/CarTouristGuideGroundRepository.cs

@@ -1199,8 +1199,8 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 c.OtherSideNo = dto.OtherSideNo;
                 c.OtherSideName = dto.OtherSideName;
 
+                //2025-04-07 第四次更改 PayDId == 72(刷卡) IsPay == 1
                 if (c.PayDId == 72) c.IsPay = 1;
-                else c.IsPay = 0;
 
                 c.RMBPrice = c.PayMoney;
                 c.DayRate = 1;

+ 32 - 31
OASystem/OASystem.Infrastructure/Repositories/Groups/CustomersRepository.cs

@@ -383,8 +383,8 @@ namespace OASystem.Infrastructure.Repositories.Groups
             c.PayMoney = cus.InsuranceCosts;
             c.PaymentCurrency = cus.Currency;
 
-            //if (c.PayDId == 72) c.IsPay = 1;
-            //else c.IsPay = 0;
+            //2025-04-07 第四次更改 PayDId == 72(刷卡) IsPay == 1
+            if (c.PayDId == 72) c.IsPay = 1;
 
             c.RMBPrice = cus.InsuranceCosts;
             c.DayRate = 1;
@@ -408,12 +408,12 @@ namespace OASystem.Infrastructure.Repositories.Groups
             if (dto.Status == 1)//添加
             {
                 var customers = _sqlSugar.Queryable<Grp_Customers>()
-                                         .First(a => a.DiId == dto.DiId &&
-                                                     a.IsDel == 0 &&
-                                                     a.ClientName == dto.ClientName &&
-                                                     a.InsuranceCosts == dto.InsuranceCosts &&
-                                                     a.Currency == dto.Currency
-                                         );
+                    .First(a => a.DiId == dto.DiId &&
+                                a.IsDel == 0 &&
+                                a.ClientName == dto.ClientName &&
+                                a.InsuranceCosts == dto.InsuranceCosts &&
+                                a.Currency == dto.Currency
+                    );
                 if (customers != null)
                 {
                     return result = new Result() { Code = -1, Msg = "该笔费用已存在,请勿重复添加!" };
@@ -458,29 +458,30 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 if (res)
                 {
                     int CTable = await _sqlSugar.Updateable<Grp_CreditCardPayment>()
-                                                .Where(a => a.CId == cus.Id && a.CTable == 82)
-                                                .SetColumns(a => new Grp_CreditCardPayment
-                                                {
-                                                    PayDId = dto.PayDId,
-                                                    PayMoney = c.PayMoney,
-                                                    PaymentCurrency = c.PaymentCurrency,
-                                                    Payee = c.Payee,
-                                                    OrbitalPrivateTransfer = c.OrbitalPrivateTransfer,
-                                                    DayRate = c.DayRate,
-                                                    RMBPrice = c.RMBPrice,
-                                                    ConsumptionPatterns = c.ConsumptionPatterns,
-                                                    ConsumptionDate = c.ConsumptionDate,
-                                                    CTDId = c.CTDId,
-                                                    CompanyBankNo = c.CompanyBankNo,
-                                                    OtherBankName = c.OtherBankName,
-                                                    OtherSideNo = c.OtherSideNo,
-                                                    OtherSideName = c.OtherSideName,
-                                                    BankNo = c.BankNo,
-                                                    CardholderName = c.CardholderName,
-                                                    Remark = c.Remark,
-                                                    IsAuditGM = c.IsAuditGM,
-                                                })
-                                                .ExecuteCommandAsync();
+                        .Where(a => a.CId == cus.Id && a.CTable == 82)
+                        .SetColumns(a => new Grp_CreditCardPayment
+                        {
+                            PayDId = c.PayDId,
+                            IsPay = c.IsPay,
+                            PayMoney = c.PayMoney,
+                            PaymentCurrency = c.PaymentCurrency,
+                            Payee = c.Payee,
+                            OrbitalPrivateTransfer = c.OrbitalPrivateTransfer,
+                            DayRate = c.DayRate,
+                            RMBPrice = c.RMBPrice,
+                            ConsumptionPatterns = c.ConsumptionPatterns,
+                            ConsumptionDate = c.ConsumptionDate,
+                            CTDId = c.CTDId,
+                            CompanyBankNo = c.CompanyBankNo,
+                            OtherBankName = c.OtherBankName,
+                            OtherSideNo = c.OtherSideNo,
+                            OtherSideName = c.OtherSideName,
+                            BankNo = c.BankNo,
+                            CardholderName = c.CardholderName,
+                            Remark = c.Remark,
+                            IsAuditGM = c.IsAuditGM,
+                        })
+                        .ExecuteCommandAsync();
                     if (CTable == 0)
                     {
                         result = new Result() { Code = -1, Msg = "修改失败!" };

+ 25 - 28
OASystem/OASystem.Infrastructure/Repositories/Groups/DecreasePaymentsRepository.cs

@@ -213,10 +213,9 @@ namespace OASystem.Infrastructure.Repositories.Groups
                     C.AuditGMOperate = 21;
                     C.AuditGMDate = "";
 
-                    //注释 刷卡 = 已支付状态
+                    //2025-04-07 第四次更改 PayDId == 72(刷卡) IsPay == 1
                     if (C.PayDId == 72) C.IsPay = 1;
-                    else C.IsPay = 0;
-                   
+
                     C.DIId = grp_Decrease.DiId;
                     C.CId = id;
                     C.CTable = 98;
@@ -258,11 +257,9 @@ namespace OASystem.Infrastructure.Repositories.Groups
                         var data = new { ccpId = cId, sign = 1,dataId = id };
                         return new JsonView() { Code = 200, Msg = "添加成功!", Data = data };
                     }
-                    else
-                    {
-                        RollbackTran();
-                        return new JsonView() { Code = 400, Msg = "添加失败!" };
-                    }
+
+                    RollbackTran();
+                    return new JsonView() { Code = 400, Msg = "添加失败!" };
                 }
             }
             else if (dto.Status == 2)
@@ -314,27 +311,28 @@ namespace OASystem.Infrastructure.Repositories.Groups
                             return new JsonView() { Code = 400, Msg = "修改失败!" };
                         }
 
-                        int ispay = 0;
-                        if (dto.PayDId == 72) ispay = 1;
+                        //2025-04-07 第四次更改 PayDId == 72(刷卡) IsPay == 1
+                        int isPay = 0;
+                        if (dto.PayDId == 72) isPay = 1;
 
                         int CTable = await _sqlSugar.Updateable<Grp_CreditCardPayment>()
-                                                    .Where(a => a.Id == grp_CreditCardPayment.Id)
-                                                    .SetColumns(a => new Grp_CreditCardPayment
-                                                    {
-                                                        OtherSideName = dto.OtherSideName,
-                                                        OtherSideNo = dto.OtherSideNo,
-                                                        OtherBankName = dto.OtherBankName,
-                                                        PayDId = dto.PayDId,
-                                                        IsPay = ispay,
-                                                        PayMoney = grp_Decrease.FeeTotal,
-                                                        PaymentCurrency = grp_Decrease.Currency,
-                                                        Payee = dto.SupplierName,
-                                                        OrbitalPrivateTransfer = dto.OrbitalPrivateTransfer,
-                                                        DayRate = grp_CreditCardPayment.DayRate,
-                                                        RMBPrice = grp_CreditCardPayment.RMBPrice,
-                                                        //IsAuditGM = auto ? 3 : grp_CreditCardPayment.IsAuditGM
-                                                    })
-                                                    .ExecuteCommandAsync();
+                            .Where(a => a.Id == grp_CreditCardPayment.Id)
+                            .SetColumns(a => new Grp_CreditCardPayment
+                            {
+                                OtherSideName = dto.OtherSideName,
+                                OtherSideNo = dto.OtherSideNo,
+                                OtherBankName = dto.OtherBankName,
+                                PayDId = dto.PayDId,
+                                IsPay = isPay,
+                                PayMoney = grp_Decrease.FeeTotal,
+                                PaymentCurrency = grp_Decrease.Currency,
+                                Payee = dto.SupplierName,
+                                OrbitalPrivateTransfer = dto.OrbitalPrivateTransfer,
+                                DayRate = grp_CreditCardPayment.DayRate,
+                                RMBPrice = grp_CreditCardPayment.RMBPrice,
+                                //IsAuditGM = auto ? 3 : grp_CreditCardPayment.IsAuditGM
+                            })
+                            .ExecuteCommandAsync();
                         if (CTable > 0)
                         {
                             CommitTran();
@@ -411,7 +409,6 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 }
                 #endregion
 
-
             }
             catch (Exception ex)
             {

+ 97 - 83
OASystem/OASystem.Infrastructure/Repositories/Groups/HotelPriceRepository.cs

@@ -317,9 +317,8 @@ namespace OASystem.Infrastructure.Repositories.Groups
                     
                     it.HrId = _HotelReservations.Id;
 
-                    //2024-12-05 10:18 更改代付逻辑:是否由地接或其他人代付: 是 : ispay = 0 否 : ispay = 1 
-                    if (it.PayDId == 72 || it.IsOppay == 0) it.IsPay = 1;
-                    else it.IsPay = 0;
+                    //2025-04-07 第四次更改 PayDId == 72(刷卡) IsPay == 1
+                    if (it.PayDId == 72 && it.IsOppay == 0) it.IsPay = 1;
 
                     if (!string.IsNullOrEmpty(it.ConsumptionDate))
                     {
@@ -335,7 +334,6 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 });
                 _HotelReservationsContents = _HotelReservationsContents.OrderBy(x => x.PriceType).ToList();
 
-
                 if (portType == 2 || portType == 3)
                 {
                     string checkNo = string.Empty;
@@ -349,6 +347,14 @@ namespace OASystem.Infrastructure.Repositories.Groups
 
                 #region CCP 表参数
 
+                //2025-04-07 第四次更改 PayDId == 72(刷卡) IsPay == 1
+                //费用详情子项 全部已付款更改 C表付款状态
+                var hotelSubPayStatus = _HotelReservationsContents.Where(x => x.Price > 0).ToList();
+                if (hotelSubPayStatus.Where(x => x.IsPay == 1).Count() == hotelSubPayStatus.Count)
+                {
+                    _CreditCardPayment.IsPay = 1;
+                }
+
                 _CreditCardPayment.CreateUserId = _dto.UserId;
                 _CreditCardPayment.DIId = _dto.DiId;
                 _CreditCardPayment.CTable = 76;
@@ -358,7 +364,6 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 if (_dto.CardPriceCurrency != 836) ccpRate = _dto.Contents.Find(x => x.Currency == _dto.CardPriceCurrency)?.Rate ?? 1.0000M;
                 _CreditCardPayment.DayRate = ccpRate;
 
-
                 _CreditCardPayment.PayPercentage = 100.00M;
                 _CreditCardPayment.PayThenMoney = _CreditCardPayment.PayMoney;
 
@@ -413,6 +418,17 @@ namespace OASystem.Infrastructure.Repositories.Groups
 
                     #region 酒店基础数据 添加
 
+                    //处理城市名称为 "所有城市"、"其他城市" 更改为国家名称
+                    var cityNameFilter = new string[] { "所有城市", "其他城市" };
+                    if (cityNameFilter.Contains(_dto.City))
+                    {
+                        var countryInfo = await _sqlSugar.Queryable<Grp_NationalTravelFee>()
+                            .Where(it => it.Id == _dto.AreaId && it.IsDel == 0)
+                            .FirstAsync();
+                        if (countryInfo != null) _dto.City = countryInfo.Country;
+                    }
+
+
                     var hotelDataReq = new OperationHotelDto()
                     {
                         Status = 1,
@@ -437,37 +453,37 @@ namespace OASystem.Infrastructure.Repositories.Groups
                     _sqlSugar.BeginTran();
 
                     int hotelStatus = await _sqlSugar.Updateable<Grp_HotelReservations>(_HotelReservations)
-                                                     .UpdateColumns(it => new
-                                                     {
-                                                         it.GTId,
-                                                         it.CheckNumber,
-                                                         it.ReservationsWebsite,
-                                                         it.ReservationsNo,
-                                                         it.DetermineNo,
-                                                         it.AreaId,
-                                                         it.City,
-                                                         it.HotelName,
-                                                         it.HotelTel,
-                                                         it.HotelAddress,
-                                                         it.GuestName,
-                                                         it.CheckInDate,
-                                                         it.CheckOutDate,
-                                                         it.CheckType,
-                                                         it.RoomExplanation,
-                                                         it.SingleRoomPrice,
-                                                         it.SingleRoomCount,
-                                                         it.DoubleRoomPrice,
-                                                         it.DoubleRoomCount,
-                                                         it.SuiteRoomPrice,
-                                                         it.SuiteRoomCount,
-                                                         it.OtherRoomPrice,
-                                                         it.OtherRoomCount,
-                                                         it.CardPrice,
-                                                         it.CardPriceCurrency,
-                                                         it.Remark,
-                                                     })
-                                                     .WhereColumns(it => it.Id)
-                                                     .ExecuteCommandAsync();
+                        .UpdateColumns(it => new
+                        {
+                            it.GTId,
+                            it.CheckNumber,
+                            it.ReservationsWebsite,
+                            it.ReservationsNo,
+                            it.DetermineNo,
+                            it.AreaId,
+                            it.City,
+                            it.HotelName,
+                            it.HotelTel,
+                            it.HotelAddress,
+                            it.GuestName,
+                            it.CheckInDate,
+                            it.CheckOutDate,
+                            it.CheckType,
+                            it.RoomExplanation,
+                            it.SingleRoomPrice,
+                            it.SingleRoomCount,
+                            it.DoubleRoomPrice,
+                            it.DoubleRoomCount,
+                            it.SuiteRoomPrice,
+                            it.SuiteRoomCount,
+                            it.OtherRoomPrice,
+                            it.OtherRoomCount,
+                            it.CardPrice,
+                            it.CardPriceCurrency,
+                            it.Remark,
+                        })
+                        .WhereColumns(it => it.Id)
+                        .ExecuteCommandAsync();
 
                     if (hotelStatus < 0)
                     {
@@ -488,17 +504,18 @@ namespace OASystem.Infrastructure.Repositories.Groups
                     }
                     if (updateHotelSubData.Count > 0)
                     {
-                        int hotelSubUpdate = await _sqlSugar.Updateable<Grp_HotelReservationsContent>(updateHotelSubData)
-                                                            .IgnoreColumns(it => new {
-                                                                it.DiId,
-                                                                it.HrId,
-                                                                it.CreateUserId,
-                                                                it.CreateTime,
-                                                                it.DeleteUserId,
-                                                                it.DeleteTime
-                                                            })
-                                                            .WhereColumns(it => it.Id)
-                                                            .ExecuteCommandAsync();
+                        int hotelSubUpdate = await _sqlSugar
+                            .Updateable<Grp_HotelReservationsContent>(updateHotelSubData)
+                            .IgnoreColumns(it => new {
+                                it.DiId,
+                                it.HrId,
+                                it.CreateUserId,
+                                it.CreateTime,
+                                it.DeleteUserId,
+                                it.DeleteTime
+                            })
+                            .WhereColumns(it => it.Id)
+                            .ExecuteCommandAsync();
                         if (hotelSubUpdate > 0) hotelSubStatus = true;
                     }
                     
@@ -509,46 +526,43 @@ namespace OASystem.Infrastructure.Repositories.Groups
                         return _view;
                     }
 
-                    var hotelInfo = await _sqlSugar.Queryable<Grp_CreditCardPayment>()
-                                                   .Where(it => it.DIId == _dto.DiId && 
-                                                                it.CId == _dto.Id && 
-                                                                it.CTable == 76 && 
-                                                                it.IsDel == 0
-                                                    )
-                                                   .FirstAsync();
-                    if (hotelInfo == null) //ccp表 Add
-                    {
-
-                    }
-                    else //ccp表 Edit
+                    var hotelInfo = await _sqlSugar
+                        .Queryable<Grp_CreditCardPayment>()
+                        .Where(it => it.DIId == _dto.DiId && 
+                                    it.CId == _dto.Id && 
+                                    it.CTable == 76 && 
+                                    it.IsDel == 0
+                        )
+                        .FirstAsync();
+                    if (hotelInfo != null) //ccp表 Edit
                     {
                         _CreditCardPayment.Id = hotelInfo.Id;
 
                         int creditCardStatus = await _sqlSugar.Updateable(_CreditCardPayment)
-                                                    .UpdateColumns(it => new
-                                                    {
-                                                        it.CTDId,
-                                                        it.PayDId,
-                                                        it.IsPay,
-                                                        it.ConsumptionPatterns,
-                                                        it.ConsumptionDate,
-                                                        it.PayMoney,
-                                                        it.PaymentCurrency,
-                                                        it.PayThenMoney,
-                                                        it.DayRate,
-                                                        it.RMBPrice,
-                                                        it.BankNo,
-                                                        it.CardholderName,
-                                                        it.CompanyBankNo,
-                                                        it.OtherBankName,
-                                                        it.OtherSideNo,
-                                                        it.OtherSideName,
-                                                        it.Payee,
-                                                        it.OrbitalPrivateTransfer,
-                                                        it.Remark,
-                                                    })
-                                                    .WhereColumns(it => it.Id)
-                                                    .ExecuteCommandAsync();
+                            .UpdateColumns(it => new
+                            {
+                                it.CTDId,
+                                it.PayDId,
+                                it.IsPay,
+                                it.ConsumptionPatterns,
+                                it.ConsumptionDate,
+                                it.PayMoney,
+                                it.PaymentCurrency,
+                                it.PayThenMoney,
+                                it.DayRate,
+                                it.RMBPrice,
+                                it.BankNo,
+                                it.CardholderName,
+                                it.CompanyBankNo,
+                                it.OtherBankName,
+                                it.OtherSideNo,
+                                it.OtherSideName,
+                                it.Payee,
+                                it.OrbitalPrivateTransfer,
+                                it.Remark,
+                            })
+                            .WhereColumns(it => it.Id)
+                            .ExecuteCommandAsync();
                         if (creditCardStatus < 0)
                         {
                             _view.Msg = "付款信息表修改失败!";

+ 3 - 2
OASystem/OASystem.Infrastructure/Repositories/Groups/InvitationOfficialActivitiesRepository.cs

@@ -334,8 +334,9 @@ Order By i.id  Desc ", sqlWhere);
                 #region C表数据添加
                 Grp_CreditCardPayment C = new Grp_CreditCardPayment();
                 C.PayDId = dto.PayDId;
+
+                //2025-04-07 第四次更改 PayDId == 72(刷卡) IsPay == 1
                 if (C.PayDId == 72) C.IsPay = 1;
-                else C.IsPay = 0;
 
                 C.ConsumptionPatterns = dto.ConsumptionPatterns;
                 C.ConsumptionDate = dto.ConsumptionDate;
@@ -488,8 +489,8 @@ Order By i.id  Desc ", sqlWhere);
                     Grp_CreditCardPayment grp_CreditCardPayment = _sqlSugar.Queryable<Grp_CreditCardPayment>().First(a => a.CId == grp_Invitation.Id && a.CTable == 81 && a.IsDel == 0);
                     if (grp_CreditCardPayment != null)
                     {
+                        //2025-04-07 第四次更改 PayDId == 72(刷卡) IsPay == 1
                         if (dto.PayDId == 72) grp_CreditCardPayment.IsPay = 1;
-                        else grp_CreditCardPayment.IsPay = 0;
 
                         grp_CreditCardPayment.PayMoney = dto.PayMoney;
                         grp_CreditCardPayment.PaymentCurrency = dto.PaymentCurrency;

+ 27 - 27
OASystem/OASystem.Infrastructure/Repositories/Groups/VisaPriceRepository.cs

@@ -335,8 +335,8 @@ Left Join Sys_SetData as sd With(Nolock) On c.PayDId = sd.Id
             c.CId = dto.Id;
             c.IsAuditGM = 0;
 
+            //2025-04-07 第四次更改 PayDId == 72(刷卡) IsPay == 1
             if (c.PayDId == 72) c.IsPay = 1;
-            else c.IsPay = 0;
 
             c.RMBPrice = c.PayMoney;
             c.DayRate = 1.0000M;
@@ -438,32 +438,32 @@ Left Join Sys_SetData as sd With(Nolock) On c.PayDId = sd.Id
                 if (res)
                 {
                     int CTable = await _sqlSugar.Updateable<Grp_CreditCardPayment>()
-                                                .Where(a => a.CId == grp_Visa1.Id && a.CTable == 80)
-                                                .SetColumns(a => new Grp_CreditCardPayment
-                                                {
-                                                    PayDId = dto.PayDId,
-                                                    IsPay = c.IsPay,
-                                                    PayMoney = c.PayMoney,
-                                                    PaymentCurrency = c.PaymentCurrency,
-                                                    Payee = c.Payee,
-                                                    OrbitalPrivateTransfer = c.OrbitalPrivateTransfer,
-                                                    DayRate = c.DayRate,
-                                                    RMBPrice = c.RMBPrice,
-                                                    ConsumptionPatterns = c.ConsumptionPatterns,
-                                                    ConsumptionDate = c.ConsumptionDate,
-                                                    CTDId = c.CTDId,
-                                                    CompanyBankNo = c.CompanyBankNo,
-                                                    OtherBankName = c.OtherBankName,
-                                                    OtherSideNo = c.OtherSideNo,
-                                                    OtherSideName = c.OtherSideName,
-                                                    BankNo = c.BankNo,
-                                                    CardholderName = c.CardholderName,
-                                                    Remark = c.Remark,
-                                                })
-                                                .SetColumnsIF(isAutoAudit, x => x.IsAuditGM == 3)
-                                                .SetColumnsIF(isAutoAudit, x => x.AuditGMOperate == 4)
-                                                .SetColumnsIF(isAutoAudit, x => x.AuditGMDate == DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))
-                                                .ExecuteCommandAsync();
+                        .Where(a => a.CId == grp_Visa1.Id && a.CTable == 80)
+                        .SetColumns(a => new Grp_CreditCardPayment
+                        {
+                            PayDId = dto.PayDId,
+                            IsPay = c.IsPay,
+                            PayMoney = c.PayMoney,
+                            PaymentCurrency = c.PaymentCurrency,
+                            Payee = c.Payee,
+                            OrbitalPrivateTransfer = c.OrbitalPrivateTransfer,
+                            DayRate = c.DayRate,
+                            RMBPrice = c.RMBPrice,
+                            ConsumptionPatterns = c.ConsumptionPatterns,
+                            ConsumptionDate = c.ConsumptionDate,
+                            CTDId = c.CTDId,
+                            CompanyBankNo = c.CompanyBankNo,
+                            OtherBankName = c.OtherBankName,
+                            OtherSideNo = c.OtherSideNo,
+                            OtherSideName = c.OtherSideName,
+                            BankNo = c.BankNo,
+                            CardholderName = c.CardholderName,
+                            Remark = c.Remark,
+                        })
+                        .SetColumnsIF(isAutoAudit, x => x.IsAuditGM == 3)
+                        .SetColumnsIF(isAutoAudit, x => x.AuditGMOperate == 4)
+                        .SetColumnsIF(isAutoAudit, x => x.AuditGMDate == DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))
+                        .ExecuteCommandAsync();
 
                     var ccp = Query<Grp_CreditCardPayment>(a => a.CId == grp_Visa1.Id && a.CTable == 80).First();