Browse Source

保险费用录入
验证 Null Grp_InsuranceCost 查询

leiy 1 year ago
parent
commit
9f7a20844e

+ 45 - 0
OASystem/OASystem.Api/Controllers/BusinessController.cs

@@ -17,6 +17,7 @@ using OASystem.Infrastructure.Repositories.Business;
 using OASystem.Infrastructure.Repositories.Groups;
 using OASystem.Infrastructure.Repositories.System;
 using Org.BouncyCastle.Asn1.Mozilla;
+using StackExchange.Redis;
 
 namespace OASystem.API.Controllers
 {
@@ -158,6 +159,50 @@ namespace OASystem.API.Controllers
             return Ok(JsonView(_view));
         }
 
+
+        /// <summary>
+        /// 查询团组简略详情列表
+        /// Page 根据Ctable And User 返回可操作的团
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostGroupListByCTableAndUserId(GroupListByCTableAndUserIdDto dto)
+        {
+            if (dto.CTable < 1) Ok(JsonView(false, @"请输入正确的员工给Id!"));
+
+            if (dto.CTable < 1) 
+                return Ok(JsonView(false, @"请输入正确的CTable Id !76 酒店预订  77 行程  79 车/导游地接<br/>80 签证    81 邀请/公务活动  82 团组客户保险<br\>85 机票预订   98 其他款项 751 酒店早餐"));
+
+            if (dto.PortType == 1 || dto.PortType == 2 || dto.PortType == 3)
+            {
+                string sql = string.Format(@"Select row_number() over(order by di.VisitStartDate Desc) as Row_Number, 
+									         di.Id,di.TeamName,di.TourCode,di.ClientName,di.VisitCountry,di.VisitStartDate,
+									         di.VisitEndDate,di.VisitDays,di.VisitPNumber
+									         From Grp_GroupsTaskAssignment gta
+									         Inner Join Grp_DelegationInfo di On gta.DIId = di.Id
+									         Where gta.IsDel = 0 And di.IsDel = 0 And gta.IsEnable = 1
+									         And gta.CTId = {0} And gta.UId = {1}", dto.CTable,dto.UserId);
+
+                RefAsync<int> total = 0;//REF和OUT不支持异步,想要真的异步这是最优解
+                var data = await _groupRep._sqlSugar.SqlQueryable<GroupListByCTableAndUserIdView>(sql).ToPageListAsync(dto.PageIndex, dto.PageSize, total); //ToPageAsync
+
+                return Ok(JsonView(true, "操作成功!",data,total));
+            }
+            else
+            {
+                return Ok(JsonView(false, @"请输入正确的PortType 1 Web 2 Android 3 IOS "));
+            }
+            
+
+
+
+
+            return Ok(JsonView(true));
+
+        }
+
         #endregion
 
         #region 币种 List

+ 72 - 2
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -1424,7 +1424,7 @@ namespace OASystem.API.Controllers
                 var result = await _grpScheduleRep._sqlSugar.Updateable<Grp_CreditCardPayment>()
                 .SetColumns(it => it.IsAuditGM == _dto.AuditCode)
                 .SetColumns(it => it.AuditGMOperate == _dto.UserId)
-                .SetColumns(it => it.AuditGMDate == dtNow.ToString())
+                .SetColumns(it => it.AuditGMDate == dtNow.ToString("yyyy-MM-dd HH:mm:ss"))
                 .Where(s => s.Id == CreditId)
                 .ExecuteCommandAsync();
                 if (result < 1)
@@ -3853,7 +3853,7 @@ namespace OASystem.API.Controllers
 
         #endregion
 
-        #region 酒店预定
+        #region 酒店预定 保留
         /// <summary>
         /// 酒店预订页面初始化绑定
         /// </summary>
@@ -4436,6 +4436,76 @@ namespace OASystem.API.Controllers
         }
         #endregion
 
+        #region 酒店预定 新 雷怡 2023-12-28 17:45
+
+        /// <summary>
+        /// 酒店预定 _BasicsDataInit
+        /// 酒店费用列表 根据团组Id查询
+        /// </summary>
+        /// <param name="_dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostHotelReservationsItemsByDiId(HotelReservationItemDto _dto)
+        {
+            try
+            {
+                #region  参数验证
+                if (_dto.UserId < 1) return Ok(JsonView(false, "员工Id为空"));
+                if (_dto.PageId < 1) _dto.PageId = 28; //酒店预定Id
+                if (_dto.DiId < 1) return Ok(JsonView(false, "团组Id为空"));
+
+                PageFunAuthViewBase pageFunAuthView = new PageFunAuthViewBase();
+
+                #region 页面操作权限验证
+                pageFunAuthView = await GeneralMethod.PostUserPageFuncDatas(_dto.UserId, _dto.PageId);
+
+                if (pageFunAuthView.CheckAuth == 0) return Ok(JsonView(false, "您没有查看权限!"));
+                #endregion
+
+                #endregion
+
+
+                Result groupData = await _hotelPriceRep._ItemsByDiId(_dto.PortType,_dto.DiId);
+                if (groupData.Code != 0)
+                {
+                    return Ok(JsonView(false, groupData.Msg));
+                }
+                return Ok(JsonView(true, groupData.Msg, groupData.Data));
+            }
+            catch (Exception ex)
+            {
+                return Ok(JsonView(false, ex.Message));
+            }
+        }
+
+        /// <summary>
+        /// 酒店预定 _BasicsDataInit
+        /// 酒店费用列表 根据团组Id查询
+        /// </summary>
+        /// <param name="_dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostHotelReservationsBasicsDataInit(HotelReservationBasicsDataInit _dto)
+        {
+            try
+            {
+                Result data = await _hotelPriceRep._BasicsDataInit(_dto);
+                if (data.Code != 0)
+                {
+                    return Ok(JsonView(false, data.Msg));
+                }
+                return Ok(JsonView(true, data.Msg, data.Data));
+            }
+            catch (Exception ex)
+            {
+                return Ok(JsonView(false, ex.Message));
+            }
+        }
+
+        #endregion
+
         #region 团组状态
 
         /// <summary>

+ 24 - 0
OASystem/OASystem.Api/Controllers/StatisticsController.cs

@@ -9,6 +9,8 @@ using OASystem.Domain.ViewModels.Financial;
 using OASystem.Domain.ViewModels.Groups;
 using OASystem.Domain.ViewModels.Statistics;
 using OASystem.Infrastructure.Repositories.Groups;
+using static OpenAI.GPT3.ObjectModels.SharedModels.IOpenAiModels;
+using System;
 
 namespace OASystem.API.Controllers
 {
@@ -266,7 +268,29 @@ namespace OASystem.API.Controllers
                 _view.GroupIncomeStr = string.Format(@"剩余尾款:{0} (包含了收款退还费用数据)", BalancePayment.ConvertToDecimal1().ToString("#0.00"));
                 #endregion
 
+                #region 团组支出
+                GroupExpenditureView _geView = new GroupExpenditureView();
 
+                #region 酒店预定费用
+
+                #endregion
+          //      Select hr.Id As HrId,hr.DiId As HrDiId,hr.City,hr.HotelName,hr.CheckInDate,hr.CheckOutDate,
+										//ccp.PaymentCurrency,sd1.Name As PaymentCurrencyName,hr.SingleRoomPrice,hr.SingleRoomCount,
+										//hr.DoubleRoomPrice,hr.DoubleRoomCount,hr.SuiteRoomPrice,hr.SuiteRoomCount,hr.OtherRoomPrice,
+										//hr.OtherRoomCount,hr.GovernmentRent,hr.CityTax,hr.Commission,ccp.PayMoney,ccp.RMBPrice As CNYPrice,
+										//ccp.DayRate,ccp.Payee,
+										//From Grp_HotelReservations  hr
+          //                              Inner Join Grp_CreditCardPayment ccp On hr.Id = ccp.CId
+
+          //                              Left Join Sys_SetData sd1 On ccp.PaymentCurrency = sd1.Id
+
+          //                              Where hr.IsDel = 0 And ccp.IsDel = 0 And ccp.CTable = 76 And ccp.IsAuditGM = 1 And ccp.IsPay = 1
+
+          //                              And hr.DiId = 2337
+
+
+                _view.GroupExpenditure = _geView;
+                #endregion
 
 
                 return Ok(JsonView(true, "查询成功!", _view));

+ 20 - 0
OASystem/OASystem.Domain/Dtos/Groups/GroupListDto.cs

@@ -239,6 +239,26 @@ namespace OASystem.Domain.Dtos.Groups
 
     }
 
+    /// <summary>
+    /// 
+    /// </summary>
+    public class GroupListByCTableAndUserIdDto : DtoBase
+    {
+        /// <summary>
+        /// 业务类型Id
+        /// 酒店预定,机票预定,等等
+        /// 76	酒店预订 77	行程           79  车/导游地接
+        /// 80	签证     81	邀请/公务活动  82  团组客户保险
+        /// 85	机票预订 98	其他款项       751 酒店早餐
+        /// </summary>
+        public int CTable { get; set; }
+
+        /// <summary>
+        /// 用户Id
+        /// </summary>
+        public int UserId { get; set; }
+    }
+
 
     /// <summary>
     /// 确认出团dto

+ 30 - 0
OASystem/OASystem.Domain/Dtos/Groups/HotelReservationsDto.cs

@@ -6,6 +6,35 @@ using System.Threading.Tasks;
 
 namespace OASystem.Domain.Dtos.Groups
 {
+    /// <summary>
+    /// 酒店预定
+    /// item Dto
+    /// </summary>
+    public class HotelReservationItemDto : UserPageFuncDtoBase
+    {
+        public int DiId { get; set; }
+    }
+    /// <summary>
+    /// 酒店预定
+    /// BasicsData Dto
+    /// </summary>
+    public class HotelReservationBasicsDataInit : PortDtoBase
+    {
+        public int DiId { get; set; }
+    }
+
+
+
+
+
+
+
+
+
+
+
+    #region 保留
+
     public class HotelReservationsDto
     {
         /// <summary>
@@ -290,4 +319,5 @@ namespace OASystem.Domain.Dtos.Groups
         /// </summary>
         public int CityTaxCurrency { get; set; }
     }
+    #endregion
 }

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

@@ -7,7 +7,7 @@ using System.Threading.Tasks;
 namespace OASystem.Domain.Entities.Groups
 {
     /// <summary>
-    /// 酒店表
+    /// 酒店预定费用
     /// </summary>
     [SugarTable("Grp_HotelReservations")]
     public class Grp_HotelReservations:EntityBase

+ 10 - 0
OASystem/OASystem.Domain/ViewModels/Financial/Fin_PaymentRefundAndOtherMoneyView.cs

@@ -52,6 +52,16 @@ namespace OASystem.Domain.ViewModels.Financial
         /// </summary>
         public int IsAuditGM { get; set; }
 
+        /// <summary>
+        /// 审核人
+        /// </summary>
+        public string? AuditGMName { get; set; }
+
+        /// <summary>
+        /// 审核时间
+        /// </summary>
+        public string? AuditGMDate { get; set; }
+
         /// <summary>
         /// 创建人
         /// </summary>

+ 49 - 0
OASystem/OASystem.Domain/ViewModels/Groups/DelegationInfoView.cs

@@ -69,6 +69,55 @@ namespace OASystem.Domain.ViewModels.Groups
 
     }
 
+    /// <summary>
+    /// 查询团组简略详情列表
+    /// Page 根据Ctable And User 返回可操作的团 View
+    /// </summary>
+    public class GroupListByCTableAndUserIdView 
+    {
+        public int Row_Number { get; set; }
+        public int Id { get; set; }
+        
+        /// <summary>
+        /// 团组名
+        /// </summary>
+        public string? TeamName { get; set; }
+        /// <summary>
+        /// 团组Code 
+        /// </summary>
+        public string? TourCode { get; set; }
+
+        /// <summary>
+        /// 客户名称
+        /// </summary>
+        public string? ClientName { get; set; }
+
+        /// <summary>
+        /// 出访时间
+        /// </summary>
+        public string? VisitCountry { get; set; }
+
+        /// <summary>
+        /// 出访开始日期
+        /// </summary>
+        public DateTime VisitStartDate { get; set; }
+
+        /// <summary>
+        /// 出访结束日期
+        /// </summary>
+        public DateTime VisitEndDate { get; set; }
+
+        /// <summary>
+        /// 出访天数
+        /// </summary>
+        public int VisitDays { get; set; }
+
+        /// <summary>
+        /// 出访人数
+        /// </summary>
+        public int VisitPNumber { get; set; }
+    }
+
     /// <summary>
     /// 接团信息详情 共享 Web
     /// 返回视图

+ 104 - 0
OASystem/OASystem.Domain/ViewModels/Groups/HotelReservationsByDiIdView.cs

@@ -6,6 +6,108 @@ using System.Threading.Tasks;
 
 namespace OASystem.Domain.ViewModels.Groups
 {
+    #region 酒店预定 新 View
+
+    /// <summary>
+    /// 酒店预定
+    /// Items  View
+    /// </summary>
+    public class HotelReservationsItemsView
+    {
+        /// <summary>
+        /// Number
+        /// </summary>
+        public int Row_Number { get; set; }
+
+        public int Id { get; set; }
+
+        //public int DiId { get; set; }
+
+        /// <summary>
+        /// 客人类型
+        /// </summary>
+        public string? GuestType { get; set; }
+
+        /// <summary>
+        /// 预定号
+        /// </summary>
+        public string? ReservationsNo { get; set; }
+
+        /// <summary>
+        /// 酒店名称
+        /// </summary>
+        public string? HotelName { get; set; }
+
+        /// <summary>
+        /// 入住时间
+        /// </summary>
+        public string CheckInDate { get; set; }
+
+        /// <summary>
+        /// 离店时间
+        /// </summary>
+        public string CheckOutDate { get; set; }
+
+        /// <summary>
+        /// 付款金额
+        /// </summary>
+        public decimal PayMoney { get; set; }
+
+        ///// <summary>
+        ///// 付款币种 Id
+        ///// </summary>
+        //public int PaymentCurrency { get; set; }
+
+        /// <summary>
+        /// 付款币种Code 
+        /// </summary>
+        public string? PayCurrency { get; set; }
+
+        ///// <summary>
+        ///// 创建人Id 
+        ///// </summary>
+        //public int CreateUserId { get; set; }
+
+        /// <summary>
+        /// 创建人姓名
+        /// </summary>
+        public string? CreateUserName { get; set; }
+
+        /// <summary>
+        /// 创建时间
+        /// </summary>
+        public DateTime CreateTime { get; set; }
+
+        /// <summary>
+        /// 总经理审核状态
+        /// 0 未审核 1 已审核 2 未通过 4自动审核
+        /// </summary>
+        public int IsAuditGM { get; set; }
+
+
+        /// <summary>
+        /// 总经理审核状态
+        /// 0 未审核 1 已审核 2 未通过 4 自动审核
+        /// </summary>
+        public string IsAuditGMStr { get {
+            
+                string? auditStatus = " - ";
+                if (IsAuditGM == 1) auditStatus = "未审核";
+                else if (IsAuditGM == 1) auditStatus = "已审核";
+                else if(IsAuditGM == 2) auditStatus = "未通过";
+                else if (IsAuditGM == 4) auditStatus = "自动审核";
+
+                return auditStatus;
+            } }
+
+    }
+
+    #endregion
+
+
+    #region 保留
+
+
     /// <summary>
     /// 根据diid查询酒店费用列表
     /// </summary>
@@ -349,4 +451,6 @@ namespace OASystem.Domain.ViewModels.Groups
         public int CurrencyId { get; set; }
         public string CurrencyName { get; set; }
     }
+    
+    #endregion
 }

+ 29 - 1
OASystem/OASystem.Domain/ViewModels/Statistics/GroupStatementView.cs

@@ -127,6 +127,11 @@ namespace OASystem.Domain.ViewModels.Statistics
         /// 描述
         /// </summary>
         public string? GroupIncomeStr { get; set; }
+
+        /// <summary>
+        /// 团组支出
+        /// </summary>
+        public GroupExpenditureView? GroupExpenditure { get; set; }
     }
 
     #region 团组收入
@@ -158,7 +163,17 @@ namespace OASystem.Domain.ViewModels.Statistics
         public string? ProceedsReceivedStr { get; set; }
 
         /// <summary>
-        /// 收款退还
+        /// 支出费用 Items
+        /// </summary>
+        public List<dynamic>? IncurExpenses { get; set; } = new List<dynamic>();
+
+        /// <summary>
+        /// 支出费用 Str
+        /// </summary>
+        public string? IncurExpenseStr{ get; set; } = string.Empty;
+
+        /// <summary>
+        /// 收款退还 Items
         /// </summary>
         public List<Gsd_PaymentRefundAndOtherMoneyView>? PaymentRefundAndOtherMoneys { get; set; }
 
@@ -369,4 +384,17 @@ namespace OASystem.Domain.ViewModels.Statistics
     #endregion
 
     #endregion
+
+    #region 团组支出
+    /// <summary>
+    /// 团组支出 View
+    /// </summary>
+    public class GroupExpenditureView
+    { 
+        
+    }
+
+
+    #endregion
+
 }

+ 7 - 8
OASystem/OASystem.Infrastructure/Repositories/Financial/PaymentRefundAndOtherMoneyRepository.cs

@@ -49,17 +49,16 @@ namespace OASystem.Infrastructure.Repositories.Financial
         /// <returns></returns>
         public async Task<Result> _ItemByDiId(int diId)
         {
-
-
             string sql = string.Format(@"Select prom.Id,prom.PriceName,prom.Price,sd.Name As CurrencyCode,
-					                     prom.Remark,ccp.IsAuditGM,u.CnName As CreateUserName,prom.CreateTime 
+					                     prom.Remark,u.CnName As CreateUserName,prom.CreateTime,ccp.IsAuditGM,
+										 u1.CnName As AuditGMName,ccp.AuditGMDate
 				                         From Fin_PaymentRefundAndOtherMoney prom
-				                         Left Join Sys_Users u On u.Id = prom.CreateUserId 
+					                     Left Join Grp_CreditCardPayment ccp On ccp.CTable = 285 And 
+										           ccp.CId = prom.Id And ccp.DIId = prom.DiId
 				                         Left Join Sys_SetData sd On prom.CurrencyId = sd.Id
-					                     Left Join Grp_CreditCardPayment ccp 
-                                         On ccp.CTable = 285 And ccp.CId = prom.Id And ccp.DIId = prom.DiId
-				                         Where prom.IsDel = 0 And u.IsDel = 0 And sd.IsDel = 0 And  ccp.IsDel = 0
-					                     And prom.DiId = {0}", diId);
+				                         Left Join Sys_Users u On u.Id = prom.CreateUserId 
+				                         Left Join Sys_Users u1 On u1.Id = ccp.AuditGMOperate 
+				                         Where prom.IsDel = 0 And ccp.IsDel = 0 And prom.DiId = {0}", diId);
 
             var data = await _sqlSugar.SqlQueryable<Fin_PaymentRefundAndOtherMoneyItemView>(sql).ToListAsync();
 

+ 8 - 4
OASystem/OASystem.Infrastructure/Repositories/Groups/CustomersRepository.cs

@@ -153,12 +153,16 @@ namespace OASystem.Infrastructure.Repositories.Groups
                     Grp_CreditCardPayment creditCardPayment = _sqlSugar.Queryable<Grp_CreditCardPayment>().First(a => a.CId == dto.Id && a.IsDel == 0 && a.CTable == 82);
                     CreditCardView creditCardView = _mapper.Map<CreditCardView>(creditCardPayment);
                     Grp_InsuranceCost Iid = _sqlSugar.Queryable<Grp_InsuranceCost>().First(a => a.IsDel == 0 && a.Id == customersById.Iid);
-                    if (Iid != null) customersById.IidStr = Iid.GName;
+                    if (Iid != null)
+                    {
+                        customersById.IidStr = Iid.GName;
+
+                        string CountSql = string.Format(@"select sum(InsuranceCosts) as CountCost from Grp_Customers where isdel=0 and Iid=" + customersById.Iid);
+                        DataCountCost dataCount = _sqlSugar.SqlQueryable<DataCountCost>(CountSql).First();
+                        customersById.InsuranceBalance = Math.Round(Iid.RechargeCost - dataCount.CountCost, 2);
+                    }
 
                     
-                    string CountSql = string.Format(@"select sum(InsuranceCosts) as CountCost from Grp_Customers where isdel=0 and Iid=" + customersById.Iid);
-                    DataCountCost dataCount = _sqlSugar.SqlQueryable<DataCountCost>(CountSql).First();
-                    customersById.InsuranceBalance = Math.Round(Iid.RechargeCost - dataCount.CountCost, 2);
 
                     Sys_SetData Currency = _sqlSugar.Queryable<Sys_SetData>().First(a => a.IsDel == 0 && a.Id == customersById.Currency);
                     if (Currency != null) customersById.CurrencyStr = Currency.Name;

+ 142 - 2
OASystem/OASystem.Infrastructure/Repositories/Groups/HotelPriceRepository.cs

@@ -22,11 +22,18 @@ namespace OASystem.Infrastructure.Repositories.Groups
     public class HotelPriceRepository : BaseRepository<Grp_HotelReservations, Grp_HotelReservations>
     {
         private readonly IMapper _mapper;
+        private readonly Result _result;
         public HotelPriceRepository(SqlSugarClient sqlSugar, IMapper mapper) :
             base(sqlSugar)
         {
             this._mapper = mapper;
+            _result = new Result() { Code = -1, Msg = "操作失败!" };
         }
+
+        #region 保留
+
+        
+
         /// <summary>
         /// 付款金额计算
         /// </summary>
@@ -246,6 +253,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 throw;
             }
         }
+        
         /// <summary>
         /// 根据酒店费用Id查询详细数据
         /// </summary>
@@ -407,8 +415,6 @@ namespace OASystem.Infrastructure.Repositories.Groups
             }
         }
 
-        
-
         /// <summary>
         /// 酒店操作
         /// </summary>
@@ -692,5 +698,139 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 return result = new Result() { Code = -2, Msg = "未知错误" };
             }
         }
+
+        #endregion
+
+        /// <summary>
+        /// 酒店预定费用
+        /// Items By DiId
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        public async Task<Result> _ItemsByDiId(int portType,int diId)
+        {
+
+            string sql = string.Format(@"Select row_number() over(order by hr.CreateTime Desc) as Row_Number,
+										 hr.Id,hr.DiId,sd1.Name As GuestType,hr.ReservationsNo,hr.HotelName,hr.CheckInDate,hr.CheckOutDate,
+										 ccp.PayMoney, ccp.PaymentCurrency,sd2.Name PayCurrency,hr.CreateUserId,u.CnName As CreateUserName,
+										 hr.CreateTime,ccp.IsAuditGM
+										 From Grp_HotelReservations  hr
+										 Inner Join Grp_CreditCardPayment ccp On hr.DiId = ccp.DIId And hr.Id = ccp.CId 
+										 And ccp.CTable = 76
+										 Left Join Sys_SetData sd1 On hr.GTId = sd1.Id
+										 Left Join Sys_SetData sd2 On ccp.PaymentCurrency = sd2.Id
+										 Left Join Sys_Users u On hr.CreateUserId = u.Id
+										 Where hr.IsDel = 0 And ccp.IsDel = 0 And hr.DiId = {0} ", diId);
+
+            if (portType == 1 || portType == 2 || portType == 3)
+            {
+                var hotelFeeData = await _sqlSugar.SqlQueryable<HotelReservationsItemsView>(sql).ToListAsync();
+
+                _result.Code = 0;
+                _result.Data = hotelFeeData;
+                _result.Msg = "操作成功!";
+            }
+            else
+            {
+                _result.Msg = "请传入正确的PortType参数,1 Web 2 Android 3 IOS";
+            }
+
+            return _result;
+        }
+
+        /// <summary>
+        /// 酒店预定
+        /// basicsData Init
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        public async Task<Result> _BasicsDataInit(HotelReservationBasicsDataInit dto)
+        {
+            try
+            {
+                if (dto.PortType == 1  || dto.PortType == 2 || dto.PortType == 3)
+                {
+
+                }
+                else
+                {
+                    _result.Msg = "请传入正确的PortType参数,1 Web 2 Android 3 IOS";
+                }
+
+                List<Sys_SetData> _dataSouruce = await _sqlSugar.Queryable<Sys_SetData>().Where(a => a.IsDel == 0).ToListAsync();
+
+
+                //客人类型
+                List<Sys_SetData> GuestType = _sqlSugar.Queryable<Sys_SetData>().Where(a => a.IsDel == 0 && a.STid == 11).ToList();
+                List<SetDataInfoView> _GuestType = _mapper.Map<List<SetDataInfoView>>(GuestType);
+
+                //支付方式
+                List<Sys_SetData> Payment = _sqlSugar.Queryable<Sys_SetData>().Where(a => a.STid == 14 && a.IsDel == 0).ToList();
+                List<SetDataInfoView> _Payment = _mapper.Map<List<SetDataInfoView>>(Payment);
+
+                //币种
+                List<Sys_SetData> CurrencyList = _sqlSugar.Queryable<Sys_SetData>().Where(a => a.STid == 66 && a.IsDel == 0).ToList();
+                List<SetDataInfoView> _CurrencyList = _mapper.Map<List<SetDataInfoView>>(CurrencyList);
+
+                //卡类型
+                List<Sys_SetData> BankCard = _sqlSugar.Queryable<Sys_SetData>().Where(a => a.STid == 15 && a.IsDel == 0).ToList();
+                List<SetDataInfoView> _BankCard = _mapper.Map<List<SetDataInfoView>>(BankCard);
+
+                //预订网站
+                List<Sys_SetData> BookingWebsite = _sqlSugar.Queryable<Sys_SetData>().Where(a => a.STid == 12 && a.IsDel == 0).ToList();
+                List<SetDataInfoView> _BookingWebsite = _mapper.Map<List<SetDataInfoView>>(BookingWebsite);
+
+                if (dto.PortType == 2 || dto.PortType == 3)
+                {
+                    GeneralTeamRateInfoDto PostGroupTeamRatedto = new GeneralTeamRateInfoDto();
+                    PostGroupTeamRatedto.DiId = dto.DiId;
+                    PostGroupTeamRatedto.CTable = 76;
+                    PostGroupTeamRatedto.PortType = dto.PortType;
+                    Result teamRateDescAddCurrencyIdViews = PostGroupTeamRateByDiIdAndCTableId(PostGroupTeamRatedto);
+                    List<TeamRateDescAddCurrencyIdView> Currency = new List<TeamRateDescAddCurrencyIdView>();
+                    if (teamRateDescAddCurrencyIdViews.Code == 0)
+                    {
+                        Currency = teamRateDescAddCurrencyIdViews.Data;
+                    }
+                    var data = new
+                    {
+                        GuestType = _GuestType,
+                        Payment = _Payment,
+                        CurrencyList = Currency,
+                        BankCard = _BankCard,
+                        BookingWebsite = _BookingWebsite,
+                    };
+
+                    _result.Code = 0;
+                    _result.Data = data;
+                    _result.Msg = "操作成功!";
+                    return _result ;
+                }
+                else
+                {
+                    var data = new
+                    {
+                        GuestType = _GuestType,
+                        Payment = _Payment,
+                        CurrencyList = _CurrencyList,
+                        BankCard = _BankCard,
+                        BookingWebsite = _BookingWebsite,
+                    };
+
+
+                    _result.Code = 0;
+                    _result.Data = data;
+                    _result.Msg = "操作成功!";
+                    return _result;
+                }
+
+
+            }
+            catch (Exception ex)
+            {
+                return _result ;
+            }
+        }
+
     }
 }

+ 61 - 28
OASystem/OASystem.Infrastructure/Repositories/Groups/TeamRateRepository.cs

@@ -370,39 +370,72 @@ namespace OASystem.Infrastructure.Repositories.Groups
 
             Result result = new() { Code = -2 };
 
-            
-            List<Grp_TeamRate> teamRates = new List<Grp_TeamRate>();
-            foreach (TeamRateUpdateInfo item in dto.teamRateUpdateInfos)
-            {
-                Grp_TeamRate teamRateInfo = new Grp_TeamRate();
-                string currencyStr = string.Empty;
-                foreach (TeamRateDescView currency in item.teamRates)
-                {
-                    currencyStr += string.Format(@"{0}({1}):{2}|", currency.CurrencyName, currency.CurrencyCode, currency.Rate);
-                }
-                if (currencyStr.Length > 0)
-                {
-                    currencyStr = currencyStr.Substring(0, currencyStr.Length - 1);
-                }
-
-                teamRateInfo.DiId = dto.DiId;
-                teamRateInfo.CreateUserId = dto.CreateUserId;
-                teamRateInfo.Id = item.Id;
-                teamRateInfo.CreateTime = DateTime.Now;
-                teamRateInfo.CTable = item.CTable;
-                teamRateInfo.Remark = currencyStr;
-                teamRates.Add(teamRateInfo);
-            }
-
-
             int addCount = 0, updateCount = 0;
             if (dto.PortType == 1)
             {
                 try
                 {
-                    var x = _sqlSugar.Storageable(teamRates).ToStorage();
-                    addCount= x.AsInsertable.ExecuteCommand();        //不存在插入
-                    updateCount = x.AsUpdateable.ExecuteCommand();    //存在更新
+
+                    _sqlSugar.BeginTran();
+                    int res = -1;
+                    foreach (TeamRateUpdateInfo item in dto.teamRateUpdateInfos)
+                    {
+                        Grp_TeamRate teamRateInfo = new Grp_TeamRate();
+                        string currencyStr = string.Empty;
+                        foreach (TeamRateDescView currency in item.teamRates)
+                        {
+                            currencyStr += string.Format(@"{0}({1}):{2}|", currency.CurrencyName, currency.CurrencyCode, currency.Rate);
+                        }
+                        if (currencyStr.Length > 0)
+                        {
+                            currencyStr = currencyStr.Substring(0, currencyStr.Length - 1);
+                        }
+
+                        teamRateInfo.DiId = dto.DiId;
+                        teamRateInfo.CreateUserId = dto.CreateUserId;
+                        teamRateInfo.Id = item.Id;
+                        teamRateInfo.CreateTime = DateTime.Now;
+                        teamRateInfo.CTable = item.CTable;
+                        teamRateInfo.Remark = currencyStr;
+
+                        var teamRateDetails = _sqlSugar.Queryable<Grp_TeamRate>().Where(it => it.DiId == dto.DiId && it.CTable == item.CTable).First();
+                        if (teamRateDetails == null) //添加
+                        {
+                            res = await _sqlSugar.Insertable(teamRateInfo).ExecuteCommandAsync();
+                            if (res > 0)
+                            {
+                                addCount++;
+                            }
+                            
+                        }
+                        else //修改
+                        {
+                            teamRateInfo.Id = teamRateDetails.Id;
+                            res = await _sqlSugar.Updateable(teamRateInfo)
+                                        .UpdateColumns(it => it.Remark)
+                                        .WhereColumns(it => new { it.Id,it.DiId,it.CTable })
+                                        .ExecuteCommandAsync();
+                            if (res > 0)
+                            {
+                                updateCount++;
+                            }
+                        }
+                        if (res < 1)
+                        {
+                            _sqlSugar.RollbackTran();
+                            result.Msg = "操作失败!";
+                            break;
+                        }
+
+                    }
+
+                    if (res > 0)
+                    {
+                        _sqlSugar.CommitTran();
+                        result.Code = 0;
+                        result.Msg = "操作成功";
+                    }
+
                 }
                 catch (Exception ex)
                 {

+ 2 - 2
OASystem/OASystem.Infrastructure/Repositories/Login/LoginRepository.cs

@@ -102,8 +102,8 @@ namespace OASystem.Infrastructure.Repositories.Login
             string IdCrad = registerDto.IdCrad;
             string birthDay = IdCrad.Substring(6, 4) + "-" + IdCrad.Substring(10, 2) + "-" + IdCrad.Substring(12, 2);
 
-            string number = await CreateNumber(registerDto.DepId);
-
+            //string number = await CreateNumber(registerDto.DepId);
+            string number = "10001";
             if (string.IsNullOrEmpty(number))
             {
                 result.Code = -2;