Browse Source

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

yuanrf 1 year ago
parent
commit
aec396a4d1

+ 11 - 136
OASystem/OASystem.Api/Controllers/BusinessController.cs

@@ -121,7 +121,6 @@ namespace OASystem.API.Controllers
             xc_view = _view1.Where(it => it.Id == 77).FirstOrDefault();
             if (xc_view != null) {  _view1.Remove(xc_view); };
 
-
             List<SetDataInfoView> _view = new List<SetDataInfoView>();
             //_view.Insert(0, new SetDataInfoView { Id = -1, Name = "所有模块" });
 
@@ -139,27 +138,30 @@ namespace OASystem.API.Controllers
 
             SetDataInfoView jdzc_view = new SetDataInfoView();//751	酒店早餐
             jdzc_view = _view1.Where(it => it.Id == 751).FirstOrDefault();
-            if (jdzc_view != null) { _view.Insert(3, jdzc_view); _view1.Remove(jdzc_view); };
+            if (jdzc_view != null) { 
+                _view1.Remove(jdzc_view); 
+                //_view.Insert(3, jdzc_view); _view1.Remove(jdzc_view);
+            };
 
             SetDataInfoView cdy_view = new SetDataInfoView();//79	车/导游地接
             cdy_view = _view1.Where(it => it.Id == 79).FirstOrDefault();
-            if (cdy_view != null) { _view.Insert(4, cdy_view); _view1.Remove(cdy_view); };
+            if (cdy_view != null) { _view.Insert(3, cdy_view); _view1.Remove(cdy_view); };
 
             SetDataInfoView yqgw_view = new SetDataInfoView();//81	邀请/公务活动
             yqgw_view = _view1.Where(it => it.Id == 81).FirstOrDefault();
-            if (yqgw_view != null) { _view.Insert(5, yqgw_view); _view1.Remove(yqgw_view); };
+            if (yqgw_view != null) { _view.Insert(4, yqgw_view); _view1.Remove(yqgw_view); };
 
             SetDataInfoView bx_view = new SetDataInfoView();//82	团组客户保险
             bx_view = _view1.Where(it => it.Id == 82).FirstOrDefault();
-            if (bx_view != null) { _view.Insert(6, bx_view); _view1.Remove(bx_view); };
+            if (bx_view != null) { _view.Insert(5, bx_view); _view1.Remove(bx_view); };
 
             SetDataInfoView qtkx_view = new SetDataInfoView();//98	其他款项
             qtkx_view = _view1.Where(it => it.Id == 98).FirstOrDefault();
-            if (qtkx_view != null) { _view.Insert(7, qtkx_view); _view1.Remove(qtkx_view); };
+            if (qtkx_view != null) { _view.Insert(6, qtkx_view); _view1.Remove(qtkx_view); };
 
             SetDataInfoView skth_view = new SetDataInfoView();//285	收款退还与其他款项
             skth_view = _view1.Where(it => it.Id == 285).FirstOrDefault();
-            if (skth_view != null) { _view.Insert(8, skth_view); _view1.Remove(skth_view); };
+            if (skth_view != null) { _view.Insert(7, skth_view); _view1.Remove(skth_view); };
 
             if (_view1.Count > 0)
             {
@@ -271,136 +273,9 @@ namespace OASystem.API.Controllers
 
                 if (dto.PortType == 1 || dto.PortType == 2 || dto.PortType == 3 )
                 {
-                    string teamRateInfoSql = string.Format(@"Select sd.Name,tr.* From Grp_TeamRate tr 
-                                                     Left Join Sys_SetData  sd On sd.IsDel=0 And sd.STid=16  And tr.CTable = sd.Id 
-                                                     Where tr.IsDel = 0 And tr.DiId = {0} And tr.CTable = {1}", dto.DiId,dto.CTable);
-
-                    var teamRateInfo = await _teamRateRep._sqlSugar.SqlQueryable<TeamRateInfoView>(teamRateInfoSql).ToListAsync();
-
-                    #region 团组汇率
-
-                    TeamRateModelGeneralView teamRateModels = new TeamRateModelGeneralView();
-
-
-                    #region 单独处理Ctable 币种汇率 默认 为CNY
-                    if (dto.CTable == 285)
-                    {
-                        teamRateModels = new TeamRateModelGeneralView()
-                        {
-                            Id = 0,
-                            CTableId = 285,
-                            CTableName = "其他款项与收款退还",
-                            TeamRates = new List<TeamRateDescAddCurrencyIdView>() {
-                                new TeamRateDescAddCurrencyIdView()
-                                {
-                                    CurrencyId = 836,
-                                    CurrencyCode = "CNY",
-                                    CurrencyName = "人民币",
-                                    Rate = 1.0000M,
-                                }
-                            }
-                        };
-                        return Ok(JsonView(true, "操作成功!", teamRateModels));
-                    }
-
-
-                    #endregion
-
-
-                    List<SetDataInfoView> currencyDatas = new List<SetDataInfoView>();    
-                    #region 获取所有币种
-
-                    string sql = string.Format(@"select * from Sys_SetData where STid = {0} and isdel = 0", 66);
-                    var DBdata = await _setDataRep.GetListBySqlWithNolockAsync(sql);
-
-                    if (DBdata == null || DBdata.Count == 0)
-                    {
-                        return Ok(JsonView(false, "所有币种获取失败!"));
-                    }
-
-                    currencyDatas = DBdata.Select(x => new SetDataInfoView
-                    {
-                        Name = x.Name,
-                        Id = x.Id,
-                        Remark = x.Remark,
-                    }).ToList();
-
-                    #endregion
-
-                    foreach (TeamRateInfoView item in teamRateInfo)
-                    {
-                        TeamRateModelGeneralView teamRateModelInfo = new TeamRateModelGeneralView();
-
-                        teamRateModelInfo.Id = item.Id;
-                        teamRateModelInfo.CTableId = item.CTable;
-                        teamRateModelInfo.CTableName = item.Name;
-                        List<TeamRateDescAddCurrencyIdView> teamRateDescViews = new List<TeamRateDescAddCurrencyIdView>();
-
-                        #region 拆分remark里的汇率
-
-                        if (item.Remark.Contains("|"))
-                        {
-                            string[] currencyArr = item.Remark.Split("|");
-                            foreach (string currency in currencyArr)
-                            {
-                                string[] currency1 = currency.Split(":");
-                                string[] currency2 = currency1[0].Split("(");
-
-                                string currencyCode = currency2[1].Replace(")", "").TrimEnd();
-                                SetDataInfoView dataInfoView = new SetDataInfoView();
-                                dataInfoView = currencyDatas.Where(it => it.Name == currencyCode).FirstOrDefault();
-                                int currencyId = currencyDatas.Where(it => it.Name == currencyCode).FirstOrDefault().Id;
-                                TeamRateDescAddCurrencyIdView rateDescView = new TeamRateDescAddCurrencyIdView()
-                                {
-                                    CurrencyId = dataInfoView.Id,
-                                    CurrencyCode = currencyCode,
-                                    CurrencyName = currency2[0],
-                                    Rate = decimal.Parse(currency1[1]),
-                                };
-                                teamRateDescViews.Add(rateDescView);
-                            }
-                        }
-                        else
-                        {
-                            if (!string.IsNullOrEmpty(item.Remark))
-                            {
-                                string[] currency1 = item.Remark.Split(":");
-                                string[] currency2 = currency1[0].Split("(");
-
-                                string currencyCode = currency2[1].Replace(")", "").TrimEnd();
-                                SetDataInfoView dataInfoView = new SetDataInfoView();
-                                dataInfoView = currencyDatas.Where(it => it.Name == currencyCode).FirstOrDefault();
-                                int currencyId = currencyDatas.Where(it => it.Name == currencyCode).FirstOrDefault().Id;
-                                TeamRateDescAddCurrencyIdView rateDescView = new TeamRateDescAddCurrencyIdView()
-                                {
-                                    CurrencyId = dataInfoView.Id,
-                                    CurrencyCode = currencyCode,
-                                    CurrencyName = currency2[0],
-                                    Rate = decimal.Parse(currency1[1]),
-                                };
-                                teamRateDescViews.Add(rateDescView);
-                            }
-                        }
-
-                        #endregion
-
-                        if (teamRateDescViews.Count > 0)
-                        {
-                            teamRateDescViews = teamRateDescViews.OrderBy(it => it.CurrencyId).ToList();
-                        }
-
-                        teamRateModelInfo.TeamRates = teamRateDescViews;
-                        teamRateModels = teamRateModelInfo;
-                    }
-
-                    if (teamRateModels.TeamRates == null)
-                    {
-                        teamRateModels.TeamRates = new List<TeamRateDescAddCurrencyIdView>();
-                    }
-
-                    #endregion
+                    var _vew = GeneralMethod.PostGroupTeamRateByDiIdAndCTableId(dto.PortType,dto.DiId,dto.CTable);
 
-                    return Ok(JsonView(true, "操作成功!", teamRateModels));
+                    return Ok(JsonView(true, "操作成功!", _vew));
 
                 }
                 else

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

@@ -1390,8 +1390,34 @@ namespace OASystem.API.Controllers
                             Grp_HotelReservations hotelReservations = _HotelReservations.Where(s => s.Id == entity.CId).FirstOrDefault();
                             if (hotelReservations != null)
                             {
-                                _detail.PriceMsgContent = "信用卡金额:" + _detail.WaitPay + " (" + hotelCurrncyName + ")<br/>" +
-                                                          "房间说明:" + hotelReservations.Remark;
+                                string GovernmentRentCode ="",GovernmentRentName = "", CityTaxCode="",CityTaxName = "", BreakfastCode="", BreakfastName = "";
+                                Sys_SetData sdPaymentCurrency_GovernmentRent = currencyItems.Where(s => s.Id == hotelReservations.GovernmentRentCurrency).FirstOrDefault();
+                                if (sdPaymentCurrency_GovernmentRent!= null)
+                                {
+                                    GovernmentRentCode = sdPaymentCurrency_GovernmentRent.Name;
+                                    GovernmentRentName = sdPaymentCurrency_GovernmentRent.Remark;
+                                }
+
+                                Sys_SetData sdPaymentCurrency_CityTax = currencyItems.Where(s => s.Id == hotelReservations.CityTaxCurrency).FirstOrDefault(); 
+                                if (sdPaymentCurrency_CityTax != null)
+                                {
+                                    CityTaxCode = sdPaymentCurrency_CityTax.Name;
+                                    CityTaxName = sdPaymentCurrency_CityTax.Remark;
+                                }
+                                Sys_SetData sdPaymentCurrency_Breakfast = currencyItems.Where(s => s.Id == hotelReservations.BreakfastCurrency).FirstOrDefault();
+                                if (sdPaymentCurrency_Breakfast != null)
+                                {
+                                    BreakfastCode = sdPaymentCurrency_Breakfast.Name;
+                                    BreakfastName = sdPaymentCurrency_Breakfast.Remark;
+                                }
+
+                                string isoppayStr = hotelReservations.Isoppay == 0 ? "是" : "否";
+                                _detail.PriceMsgContent = $"信用卡金额:{_detail.WaitPay} ({hotelCurrncyName})<br/>" +
+                                                          $"房间说明: {hotelReservations.Remark} <br/>" +
+                                                          $"地税: {hotelReservations.GovernmentRent} {GovernmentRentCode} ({GovernmentRentName})<br/>" +
+                                                          $"城市税: {hotelReservations.CityTax} {CityTaxCode} ({CityTaxName})<br/>" +
+                                                          $"酒店早餐: {hotelReservations.BreakfastPrice} {BreakfastCode} ({BreakfastName})<br/>"+
+                                                          $"酒店早餐是否由地接代付: {isoppayStr}";
                                 _detail.PriceNameContent = hotelReservations.HotelName;
                             }
 

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

@@ -142,7 +142,7 @@ namespace OASystem.API.Controllers
 
             if (!typeData.Contains( dto.Type))
             {
-                return Ok(JsonView(false, "请输入有效的Type参数。1020 团组操作通知 1021 任务操作通知 "));
+                return Ok(JsonView(false, "请输入有效的Type参数。1021 团组操作通知 1020 任务操作通知 "));
             }
             if (dto.UserId < 1)
             {
@@ -164,15 +164,15 @@ namespace OASystem.API.Controllers
             List<NotificationTypeView> messageTypeViews = AppSettingsHelper.Get<NotificationTypeView>("MessageNotificationType");
             if (dto.Type == 1020) //任务操作通知 
             {
-                typeStr = String.Join(",", messageTypeViews.Where(it => it.TypeId == 2).FirstOrDefault().MsgTypeIds.ToList());
+                typeStr = String.Join(",", messageTypeViews.Where(it => it.TypeId == 1020).FirstOrDefault().MsgTypeIds.ToList());
             }
             else if (dto.Type == 1021)//团组操作通知
             {
-                typeStr = String.Join(",", messageTypeViews.Where(it => it.TypeId == 1).FirstOrDefault().MsgTypeIds.ToList());
+                typeStr = String.Join(",", messageTypeViews.Where(it => it.TypeId == 1021).FirstOrDefault().MsgTypeIds.ToList());
             }
             else if (dto.Type == 1022)//公告通知
             {
-                typeStr = String.Join(",", messageTypeViews.Where(it => it.TypeId == 0).FirstOrDefault().MsgTypeIds.ToList());
+                typeStr = String.Join(",", messageTypeViews.Where(it => it.TypeId == 1022).FirstOrDefault().MsgTypeIds.ToList());
             }
            
             if (!string.IsNullOrEmpty(typeStr))

+ 20 - 4
OASystem/OASystem.Api/OAMethodLib/GeneralMethod.cs

@@ -96,8 +96,8 @@ namespace OASystem.API.OAMethodLib
             List<NotificationTypeView> notificationTypeViews = AppSettingsHelper.Get<NotificationTypeView>("MessageNotificationType");
             notificationType = notificationTypeViews.Where(it => it.MsgTypeIds.Contains((int)msgTypeEnum)).Select(it => it.TypeId).FirstOrDefault();
 
-            if (notificationType == 1) notificationStr = "操作";
-            else if (notificationType == 2) notificationStr = "任务";
+            if (notificationType == 1021) notificationStr = "操作";
+            else if (notificationType == 1020) notificationStr = "任务";
 
             return notificationStr;
         }
@@ -514,8 +514,6 @@ namespace OASystem.API.OAMethodLib
         {
             string str = "";
 
-
-
             List<string> currencyRates = new List<string>();
             TeamRateModelView hotelRateData = teamRateModels.Where(it => it.CTableId == cTable).FirstOrDefault();
             if (hotelRateData != null)
@@ -548,6 +546,24 @@ namespace OASystem.API.OAMethodLib
             return str;
         }
 
+        /// <summary>
+        /// 团组汇率 币种 Item (来源:团组汇率)
+        /// 根据 团组Id And 业务类型(CTable)Id
+        /// api处理CTable = 285,默认返回CNY
+        /// </summary>
+        /// <param name="portType"></param>
+        /// <param name="diId"></param>
+        /// <param name="cTable"></param>
+        /// <returns></returns>
+        public static async Task<TeamRateModelGeneralView> PostGroupTeamRateByDiIdAndCTableId( int portType,int diId,int cTable)
+        {
+
+            TeamRateModelGeneralView _view = new TeamRateModelGeneralView();
+            _view = await _teamRateRep.PostGroupTeamRateByDiIdAndCTableId(portType, diId, cTable);
+            return _view;
+        }
+        
+
         #endregion
 
         #region 汉字转换拼音

+ 4 - 4
OASystem/OASystem.Api/appsettings.json

@@ -191,22 +191,22 @@
   //消息通知类型
   "MessageNotificationType": [
     {
-      "TypeId": 0, //系统公告
+      "TypeId": 1022, //系统公告
       "MsgTypeIds": [
         1  // 公告消息
       ]
     },
     {
-      "TypeId": 1, //操作通知
+      "TypeId": 1021, //操作通知
       "MsgTypeIds": [
         2, // 团组流程管控消息
         3, // 团组业务操作消息
         4, // 团组费用审核消息
-        5  // 团组签证进度更新消息
+        5 // 团组签证进度更新消息
       ]
     },
     {
-      "TypeId": 2, //任务通知
+      "TypeId": 1020, //任务通知
       "MsgTypeIds": [
         6 //任务进度更新消息
       ]

+ 2 - 14
OASystem/OASystem.Domain/Dtos/System/MsgDto.cs

@@ -29,24 +29,12 @@ namespace OASystem.Domain.Dtos.System
         /// </summary>
         public int UserId { get; set; }
     }
-    /// <summary>
-    /// 
-    /// </summary>
-    public class MessageTypeFirstMsgDto : PortDtoBase
-    {
-        /// <summary>
-        /// 消息类型
-        /// 0 全部 1 团组操作通知 2 任务操作通知 3 公告消息
-        /// </summary>
-        public int Type { get; set; }
-        public int UserId { get; set; }
-    }
-
+   
     public class PotsMessagePageListDto : DtoBase
     {
         /// <summary>
         /// 消息类型
-        /// 1020 团组操作通知 1021 任务操作通知
+        /// 1020 团组操作通知 1021 任务操作通知 1022 系统公告
         /// </summary>
         public int Type { get; set; }
 

+ 0 - 4
OASystem/OASystem.Domain/ViewModels/System/MessageView.cs

@@ -26,10 +26,6 @@ namespace OASystem.Domain.ViewModels.System
 
         /// <summary>
         /// 消息类型
-        /// 1 公告消息
-        /// 2 团组流程管控消息
-        /// 3 团组业务操作消息
-        /// 4费用
         /// </summary>
         public int Type { get; set; }
 

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

@@ -22,11 +22,13 @@ namespace OASystem.Infrastructure.Repositories.Groups
     public class CustomersRepository : BaseRepository<Grp_Customers, Grp_Ommission>
     {
         private readonly IMapper _mapper;
-        private readonly HotelPriceRepository _hotel;
-        public CustomersRepository(SqlSugarClient sqlSugar, IMapper mapper, HotelPriceRepository hotel) : base(sqlSugar)
+        private readonly TeamRateRepository _teamRateRep;
+
+        public CustomersRepository(SqlSugarClient sqlSugar, IMapper mapper, TeamRateRepository teamRateRep) 
+            : base(sqlSugar)
         {
             _mapper = mapper;
-            _hotel= hotel;
+            _teamRateRep = teamRateRep;
         }
         /// <summary>
         /// 根据团组Id查询保险费用列表
@@ -335,17 +337,13 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 PostGroupTeamRatedto.DiId = dto.DiId;
                 PostGroupTeamRatedto.CTable = 82;
                 PostGroupTeamRatedto.PortType = dto.PortType;
-                Result teamRateDescAddCurrencyIdViews = _hotel.PostGroupTeamRateByDiIdAndCTableId(PostGroupTeamRatedto);
-                List<TeamRateDescAddCurrencyIdView> Currency = new List<TeamRateDescAddCurrencyIdView>();
-                if (teamRateDescAddCurrencyIdViews.Code == 0)
-                {
-                    Currency = teamRateDescAddCurrencyIdViews.Data;
-                }
 
+                var _teamRate = _teamRateRep.PostGroupTeamRateItemByDiIdAndCTableId(dto.PortType, dto.DiId, 82);
+                
                 var data = new
                 {
                     Payment = _Payment,
-                    CurrencyList = Currency,
+                    CurrencyList = _teamRate,
                     BankCard = _BankCard,
                     insuranceCost = insuranceCostViews,
                 };

+ 6 - 128
OASystem/OASystem.Infrastructure/Repositories/Groups/HotelPriceRepository.cs

@@ -37,8 +37,6 @@ namespace OASystem.Infrastructure.Repositories.Groups
 
         #region 保留
 
-        
-
         /// <summary>
         /// 付款金额计算
         /// </summary>
@@ -381,17 +379,13 @@ namespace OASystem.Infrastructure.Repositories.Groups
                     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 _teamRateView = _teamRateRep.PostGroupTeamRateItemByDiIdAndCTableId(dto.PortType, dto.DiId, 76);
+
                     var data = new
                     {
                         GuestType = _GuestType,
                         Payment = _Payment,
-                        CurrencyList = Currency,
+                        CurrencyList = _teamRateView,
                         BankCard = _BankCard,
                         BookingWebsite = _BookingWebsite,
                     };
@@ -598,112 +592,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
             }
             return result;
         }
-        public Result PostGroupTeamRateByDiIdAndCTableId(GeneralTeamRateInfoDto dto)
-        {
-            Result result = new Result() { Code = -2, Msg = "未知错误" };
-            try
-            {
-                if (dto == null)
-                {
-                    return result = new Result() { Code = -2, Msg = "请输入参数" };
-                }
-
-                if (dto.DiId == 0)
-                {
-                    return result = new Result() { Code = -2, Msg = "请输入正确的团组Id!" };
-                }
-                if (dto.CTable == 0)
-                {
-                    return result = new Result() { Code = -2, Msg = "请输入正确的业务类型(CTable)Id!" };
-                }
-
-
-                if (dto.PortType == 1 || dto.PortType == 2 || dto.PortType == 3)
-                {
-                    string teamRateInfoSql = string.Format(@"Select sd.Name,tr.* From Grp_TeamRate tr 
-                                                     Left Join Sys_SetData  sd On sd.IsDel=0 And sd.STid=16  And tr.CTable = sd.Id 
-                                                     Where tr.IsDel = 0 And tr.DiId = {0} And tr.CTable = {1}", dto.DiId, dto.CTable);
-
-                    var teamRateInfo = _sqlSugar.SqlQueryable<TeamRateInfoView>(teamRateInfoSql).ToList();
-
-                    #region 团组汇率
-
-                    TeamRateModelGeneralView teamRateModels = new TeamRateModelGeneralView();
-
-
-                    List<SetDataInfoView> currencyDatas = new List<SetDataInfoView>();
-                    #region 获取所有币种
-
-                    string sql = string.Format(@"select * from Sys_SetData where STid = {0} and isdel = 0", 66);
-                    List<SetDataInfoView> DBdata = _sqlSugar.SqlQueryable<SetDataInfoView>(sql).ToList();
-                    if (DBdata == null || DBdata.Count == 0)
-                    {
-                        return result = new Result() { Code = -2, Msg = "所有币种获取失败!" };
-                    }
-
-                    currencyDatas = DBdata.Select(x => new SetDataInfoView
-                    {
-                        Name = x.Name,
-                        Id = x.Id,
-                        Remark = x.Remark,
-                    }).ToList();
-
-                    #endregion
-                    List<TeamRateDescAddCurrencyIdView> teamRateDescViews = new List<TeamRateDescAddCurrencyIdView>();
-                    foreach (TeamRateInfoView item in teamRateInfo)
-                    {
-
-                        #region 拆分remark里的汇率
-
-                        if (item.Remark.Contains("|"))
-                        {
-                            string[] currencyArr = item.Remark.Split("|");
-                            foreach (string currency in currencyArr)
-                            {
-                                string[] currency1 = currency.Split(":");
-                                string[] currency2 = currency1[0].Split("(");
-
-                                string currencyCode = currency2[1].Replace(")", "").TrimEnd();
-                                SetDataInfoView dataInfoView = new SetDataInfoView();
-                                dataInfoView = currencyDatas.Where(it => it.Name == currencyCode).FirstOrDefault();
-                                int currencyId = currencyDatas.Where(it => it.Name == currencyCode).FirstOrDefault().Id;
-                                TeamRateDescAddCurrencyIdView rateDescView = new TeamRateDescAddCurrencyIdView()
-                                {
-                                    CurrencyId = dataInfoView.Id,
-                                    CurrencyCode = currencyCode,
-                                    CurrencyName = currency2[0],
-                                    Rate = decimal.Parse(currency1[1]),
-                                };
-                                teamRateDescViews.Add(rateDescView);
-                            }
-                        }
-
-                        #endregion
-
-                        if (teamRateDescViews.Count > 0)
-                        {
-                            teamRateDescViews = teamRateDescViews.OrderBy(it => it.CurrencyId).ToList();
-                        }
-                    }
-
-                    #endregion
-                    return result = new Result() { Code = 0, Msg = "操作成功!",Data= teamRateDescViews };
-                    
-                }
-                else
-                {
-                    return result = new Result() { Code = -2, Msg = "请输入正确的端口号! 1 Web 2 Android 3 Ios;" };
-                }
-
-
-
-            }
-            catch (Exception ex)
-            {
-                return result = new Result() { Code = -2, Msg = "未知错误" };
-            }
-        }
-
+       
         #endregion
 
         /// <summary>
@@ -775,18 +664,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 List<Sys_SetData> CheckPerson = _dataSouruce.Where(a => a.STid == 71).ToList();
                 List<SetDataInfoView> _CheckPerson = _mapper.Map<List<SetDataInfoView>>(CheckPerson);
 
-                GeneralTeamRateInfoDto postGroupTeamRatedto = new GeneralTeamRateInfoDto()
-                {
-                    DiId = diId,
-                    CTable = 76, //酒店预定
-                    PortType = portType
-                };
-                Result teamRateDescAddCurrencyIdViews = PostGroupTeamRateByDiIdAndCTableId(postGroupTeamRatedto);
-                List<TeamRateDescAddCurrencyIdView> TeamCurrencyRate = new List<TeamRateDescAddCurrencyIdView>();
-                if (teamRateDescAddCurrencyIdViews.Code == 0)
-                {
-                    TeamCurrencyRate = teamRateDescAddCurrencyIdViews.Data;
-                }
+                var _teamRateView = _teamRateRep.PostGroupTeamRateItemByDiIdAndCTableId(portType, diId, 76);
 
                 string _CheckVolumeNo = string.Empty;
                 var checkVoumeNoData = _CreateCheckVolumeNo(diId);
@@ -802,7 +680,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 {
                     GuestType = _GuestType, //客人分类
                     Payment = _Payment,
-                    CurrencyList = TeamCurrencyRate,
+                    CurrencyList = _teamRateView,
                     BankCard = _BankCard,
                     BookingWebsite = _BookingWebsite,
                     CheckPerson = _CheckPerson,

+ 190 - 21
OASystem/OASystem.Infrastructure/Repositories/Groups/TeamRateRepository.cs

@@ -42,7 +42,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
 
             Result result = new() { Code = -2 };
 
-            GroupNameDto groupNameDto = new GroupNameDto() { PortType = dto.PortType};
+            GroupNameDto groupNameDto = new GroupNameDto() { PortType = dto.PortType };
             var groups = await _deleInfoRep.GetGroupNameList(groupNameDto);
 
             var teamRateDatas = await _setDataRep.GetSetDataBySTId(_setDataRep, 66); // STid=66 全球币种
@@ -54,9 +54,10 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 List<Sys_SetData> sys_SetDatas = new List<Sys_SetData>();
                 sys_SetDatas = JsonConvert.DeserializeObject<List<Sys_SetData>>(JsonConvert.SerializeObject(teamRateDatas.Data));
                 List<TeamRateDescView> teamRateDescViews = new List<TeamRateDescView>();
-                foreach (Sys_SetData item in sys_SetDatas) 
+                foreach (Sys_SetData item in sys_SetDatas)
                 {
-                    teamRateDescViews.Add(new TeamRateDescView() {
+                    teamRateDescViews.Add(new TeamRateDescView()
+                    {
                         CurrencyName = item.Remark,
                         CurrencyCode = item.Name,
                         Rate = 0.0000M
@@ -95,7 +96,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
 
             Result result = new() { Code = -2 };
 
-           
+
 
             string teamRateInfoSql = string.Format(@"Select * From Grp_TeamRate tr Where tr.IsDel = 0");
 
@@ -103,7 +104,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
 
             dynamic _data = null;
 
-           
+
             #region 团组汇率 - 详细汇率信息
 
             List<SetDataInfoView> otherCurrencyData1 = new List<SetDataInfoView>();
@@ -176,12 +177,12 @@ namespace OASystem.Infrastructure.Repositories.Groups
                     {
                         rateStr = rateStr.Substring(0, rateStr.Length - 1);
                     }
-                    
+
                 }
 
                 item1.Remark = rateStr;
 
-                
+
             }
 
 
@@ -193,9 +194,9 @@ namespace OASystem.Infrastructure.Repositories.Groups
             {
 
                 var _result = _sqlSugar.Updateable(teamRateInfo)
-                    .UpdateColumns(it => new {it.Remark} ) //更新列
-                    .WhereColumns(it => new { it.DiId,it.CTable })     //更新条件
-                    .ExecuteCommand(); 
+                    .UpdateColumns(it => new { it.Remark }) //更新列
+                    .WhereColumns(it => new { it.DiId, it.CTable })     //更新条件
+                    .ExecuteCommand();
 
                 result.Code = 0;
                 result.Msg = "数据修改成功!";
@@ -221,12 +222,12 @@ namespace OASystem.Infrastructure.Repositories.Groups
 
             Result result = new() { Code = -2 };
 
-            GroupInfoDto groupInfoDto = new GroupInfoDto() { Id = dto.Diid,PortType = dto.PortType, PageIndex = dto.PageIndex, PageSize = dto.PageSize };
+            GroupInfoDto groupInfoDto = new GroupInfoDto() { Id = dto.Diid, PortType = dto.PortType, PageIndex = dto.PageIndex, PageSize = dto.PageSize };
             var groupInfo = await _deleInfoRep.GetGroupInfo(groupInfoDto);
 
             string teamRateInfoSql = string.Format(@"Select sd.Name,tr.* From Grp_TeamRate tr 
                                                      Left Join Sys_SetData  sd On sd.IsDel=0 And sd.STid=16  And tr.CTable = sd.Id 
-                                                     Where tr.DiId = {0} And tr.IsDel = 0",dto.Diid);
+                                                     Where tr.DiId = {0} And tr.IsDel = 0", dto.Diid);
 
             var teamRateInfo = await _sqlSugar.SqlQueryable<TeamRateInfoView>(teamRateInfoSql).ToListAsync();
 
@@ -318,12 +319,13 @@ namespace OASystem.Infrastructure.Repositories.Groups
                     if (item.Remark.Contains("|"))
                     {
                         string[] currencyArr = item.Remark.Split("|");
-                        foreach (string currency in currencyArr) 
+                        foreach (string currency in currencyArr)
                         {
                             string[] currency1 = currency.Split(":");
                             string[] currency2 = currency1[0].Split("(");
 
-                            TeamRateDescView rateDescView = new TeamRateDescView() {
+                            TeamRateDescView rateDescView = new TeamRateDescView()
+                            {
                                 CurrencyCode = currency2[1].Replace(")", "").TrimEnd(),
                                 CurrencyName = currency2[0],
                                 Rate = decimal.Parse(currency1[1]),
@@ -418,14 +420,14 @@ namespace OASystem.Infrastructure.Repositories.Groups
                             {
                                 addCount++;
                             }
-                            
+
                         }
                         else //修改
                         {
                             teamRateInfo.Id = teamRateDetails.Id;
                             res = await _sqlSugar.Updateable(teamRateInfo)
                                         .UpdateColumns(it => it.Remark)
-                                        .WhereColumns(it => new { it.Id,it.DiId,it.CTable })
+                                        .WhereColumns(it => new { it.Id, it.DiId, it.CTable })
                                         .ExecuteCommandAsync();
                             if (res > 0)
                             {
@@ -454,7 +456,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
 
                     result.Msg = ex.Message;
                 }
-                
+
 
             }
             else if (dto.PortType == 2)
@@ -467,15 +469,12 @@ namespace OASystem.Infrastructure.Repositories.Groups
             }
 
             result.Code = 0;
-            result.Msg = string.Format(@"操作成功!添加:{0}条;更新:{1};", addCount,updateCount);
+            result.Msg = string.Format(@"操作成功!添加:{0}条;更新:{1};", addCount, updateCount);
 
             return result;
 
         }
 
-        
-
-
         /// <summary>
         /// 团组汇率 Rep
         /// 根据团组Id 查询汇率
@@ -536,5 +535,175 @@ namespace OASystem.Infrastructure.Repositories.Groups
             return teamRateModels;
 
         }
+
+
+        /// <summary>
+        /// 团组汇率 币种 Item (来源:团组汇率)
+        /// 根据 团组Id And 业务类型(CTable)Id
+        /// api处理CTable = 285,默认返回CNY
+        /// </summary>
+        /// <param name="portType"></param>
+        /// <param name="diId"></param>
+        /// <param name="cTable"></param>
+        /// <returns></returns>
+        public async Task<TeamRateModelGeneralView> PostGroupTeamRateByDiIdAndCTableId(int portType, int diId, int cTable)
+        {
+
+            TeamRateModelGeneralView _view = new TeamRateModelGeneralView();
+
+            if (diId < 1)
+            {
+                return _view;
+            }
+            if (cTable < 1)
+            {
+                return _view;
+            }
+
+            if (portType == 1 || portType == 2 || portType == 3)
+            {
+                string teamRateInfoSql = string.Format(@"Select sd.Name,tr.* From Grp_TeamRate tr 
+                                                     Left Join Sys_SetData  sd On sd.IsDel=0 And sd.STid=16  And tr.CTable = sd.Id 
+                                                     Where tr.IsDel = 0 And tr.DiId = {0} And tr.CTable = {1}", diId, cTable);
+
+                var teamRateInfo = await _sqlSugar.SqlQueryable<TeamRateInfoView>(teamRateInfoSql).ToListAsync();
+
+                #region 团组汇率
+
+                #region 单独处理Ctable 币种汇率 默认 为CNY
+                if (cTable == 285)
+                {
+                    _view = new TeamRateModelGeneralView()
+                    {
+                        Id = 0,
+                        CTableId = 285,
+                        CTableName = "其他款项与收款退还",
+                        TeamRates = new List<TeamRateDescAddCurrencyIdView>() {
+                                new TeamRateDescAddCurrencyIdView()
+                                {
+                                    CurrencyId = 836,
+                                    CurrencyCode = "CNY",
+                                    CurrencyName = "人民币",
+                                    Rate = 1.0000M,
+                                }
+                            }
+                    };
+                    return _view;
+                }
+
+                #endregion
+
+                List<SetDataInfoView> currencyDatas = new List<SetDataInfoView>();
+                #region 获取所有币种
+
+                string sql = string.Format(@"select * from Sys_SetData where STid = {0} and isdel = 0", 66);
+                var DBdata = await _setDataRep.GetListBySqlWithNolockAsync(sql);
+
+                if (DBdata == null || DBdata.Count == 0)
+                {
+                    return _view;
+                }
+
+                currencyDatas = DBdata.Select(x => new SetDataInfoView
+                {
+                    Name = x.Name,
+                    Id = x.Id,
+                    Remark = x.Remark,
+                }).ToList();
+
+                #endregion
+
+                foreach (TeamRateInfoView item in teamRateInfo)
+                {
+                    TeamRateModelGeneralView teamRateModelInfo = new TeamRateModelGeneralView();
+
+                    teamRateModelInfo.Id = item.Id;
+                    teamRateModelInfo.CTableId = item.CTable;
+                    teamRateModelInfo.CTableName = item.Name;
+                    List<TeamRateDescAddCurrencyIdView> teamRateDescViews = new List<TeamRateDescAddCurrencyIdView>();
+
+                    #region 拆分remark里的汇率
+
+                    if (item.Remark.Contains("|"))
+                    {
+                        string[] currencyArr = item.Remark.Split("|");
+                        foreach (string currency in currencyArr)
+                        {
+                            string[] currency1 = currency.Split(":");
+                            string[] currency2 = currency1[0].Split("(");
+
+                            string currencyCode = currency2[1].Replace(")", "").TrimEnd();
+                            SetDataInfoView dataInfoView = new SetDataInfoView();
+                            dataInfoView = currencyDatas.Where(it => it.Name == currencyCode).FirstOrDefault();
+                            int currencyId = currencyDatas.Where(it => it.Name == currencyCode).FirstOrDefault().Id;
+                            TeamRateDescAddCurrencyIdView rateDescView = new TeamRateDescAddCurrencyIdView()
+                            {
+                                CurrencyId = dataInfoView.Id,
+                                CurrencyCode = currencyCode,
+                                CurrencyName = currency2[0],
+                                Rate = decimal.Parse(currency1[1]),
+                            };
+                            teamRateDescViews.Add(rateDescView);
+                        }
+                    }
+                    else
+                    {
+                        if (!string.IsNullOrEmpty(item.Remark))
+                        {
+                            string[] currency1 = item.Remark.Split(":");
+                            string[] currency2 = currency1[0].Split("(");
+
+                            string currencyCode = currency2[1].Replace(")", "").TrimEnd();
+                            SetDataInfoView dataInfoView = new SetDataInfoView();
+                            dataInfoView = currencyDatas.Where(it => it.Name == currencyCode).FirstOrDefault();
+                            int currencyId = currencyDatas.Where(it => it.Name == currencyCode).FirstOrDefault().Id;
+                            TeamRateDescAddCurrencyIdView rateDescView = new TeamRateDescAddCurrencyIdView()
+                            {
+                                CurrencyId = dataInfoView.Id,
+                                CurrencyCode = currencyCode,
+                                CurrencyName = currency2[0],
+                                Rate = decimal.Parse(currency1[1]),
+                            };
+                            teamRateDescViews.Add(rateDescView);
+                        }
+                    }
+
+                    #endregion
+
+                    if (teamRateDescViews.Count > 0)
+                    {
+                        teamRateDescViews = teamRateDescViews.OrderBy(it => it.CurrencyId).ToList();
+                    }
+
+                    teamRateModelInfo.TeamRates = teamRateDescViews;
+                    _view = teamRateModelInfo;
+                }
+
+                if (_view.TeamRates == null)
+                {
+                    _view.TeamRates = new List<TeamRateDescAddCurrencyIdView>();
+                }
+
+                #endregion
+
+            }
+            return _view;
+        }
+
+        /// <summary>
+        /// 获取团组相关模块的currencyList
+        /// </summary>
+        /// <param name="portType"></param>
+        /// <param name="diId"></param>
+        /// <param name="cTable"></param>
+        /// <returns></returns>
+        public async Task<List<TeamRateDescAddCurrencyIdView>?> PostGroupTeamRateItemByDiIdAndCTableId(int portType, int diId, int cTable)
+        {
+            List<TeamRateDescAddCurrencyIdView>? teamRateDescAddCurrencyIdViews = new List<TeamRateDescAddCurrencyIdView>();
+            TeamRateModelGeneralView teamRateModelGeneralView = await PostGroupTeamRateByDiIdAndCTableId(portType, diId, cTable);
+            teamRateDescAddCurrencyIdViews = teamRateModelGeneralView.TeamRates;
+
+            return teamRateDescAddCurrencyIdViews;
+        }
     }
 }

+ 3 - 3
OASystem/OASystem.Infrastructure/Repositories/System/MessageRepository.cs

@@ -190,9 +190,9 @@ namespace OASystem.Infrastructure.Repositories.System
 
             //消息类型
             List<NotificationTypeView> messageTypeViews = AppSettingsHelper.Get<NotificationTypeView>("MessageNotificationType");
-            List<int> _operationTypeList = messageTypeViews.Where(it =>it.TypeId == 1).FirstOrDefault().MsgTypeIds.ToList();
-            List<int> _taskTypeList = messageTypeViews.Where(it => it.TypeId == 2).FirstOrDefault().MsgTypeIds.ToList();
-            List<int> _noticeTypeList = messageTypeViews.Where(it => it.TypeId == 0).FirstOrDefault().MsgTypeIds.ToList();
+            List<int> _operationTypeList = messageTypeViews.Where(it =>it.TypeId == 1021).FirstOrDefault().MsgTypeIds.ToList();
+            List<int> _taskTypeList = messageTypeViews.Where(it => it.TypeId == 1020).FirstOrDefault().MsgTypeIds.ToList();
+            List<int> _noticeTypeList = messageTypeViews.Where(it => it.TypeId == 1022).FirstOrDefault().MsgTypeIds.ToList();
 
 
             string msgSql = string.Format(@"Select * From(

+ 2 - 0
OASystem/OASystem.Infrastructure/Tools/CommonFun.cs

@@ -472,4 +472,6 @@ public static class CommonFun
         return _returnTable;
 
     }
+
+
 }