Selaa lähdekoodia

团组成本提示
接口更改
由原先的机票,酒店,地接 多端提示 更改为
机票多段提示,碟机,酒店单段提示

leiy 1 vuosi sitten
vanhempi
commit
334ad36a18

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

@@ -2680,17 +2680,35 @@ namespace OASystem.API.Controllers
         {
             try
             {
-                Result groupData = await _decreasePaymentsRep.DecreasePaymentsSelect(dto);
-                if (groupData.Code != 0)
+                #region 参数验证
+
+                if (dto.UserId < 1) return Ok(JsonView(false, "请传入有效的UserId参数!"));
+                if (dto.CTId < 1) return Ok(JsonView(false, "请传入有效的CTId参数!"));
+
+                #endregion
+
+                //var groupData = await GeneralMethod.PostOperationAuthReturnGroupInfosAsync(dto.UserId, dto.CTId);
+                ////支付方式
+                //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);
+
+                //var data = new
+                //{
+                //    Payment = _Payment,
+                //    GroupName = groupData,
+                //};
+
+                var res = await _decreasePaymentsRep.DecreasePaymentsSelect(dto);
+                if (res.Code != 0)
                 {
-                    return Ok(JsonView(false, groupData.Msg));
+                    return Ok(JsonView(false, res.Msg));
                 }
-                return Ok(JsonView(true, groupData.Msg, groupData.Data));
+
+                return Ok(JsonView(true, "操作成功!", res.Data));
             }
             catch (Exception ex)
             {
-                return Ok(JsonView(false, "程序错误!"));
-                throw;
+                return Ok(JsonView(false, ex.Message));
             }
         }
         /// <summary>
@@ -6717,10 +6735,27 @@ namespace OASystem.API.Controllers
                 
                 GroupCostModulePromptView _view = new GroupCostModulePromptView();
 ;
-                List<GroupCostModulePromptInfo> _ModulePromptInfos = new List<GroupCostModulePromptInfo>();
-                foreach (var item in _GroupCostParameters)
+                List<GroupCostModulePromptInfo> _ModulePromptInfos = new List<GroupCostModulePromptInfo>(); //机票存储多段
+
+                //op,酒店单段模式存储
+                GroupCostModulePromptInfo _ModulePromptInfo = new GroupCostModulePromptInfo() 
+                {
+                    CurrencyCode = _GroupCostParameters[0].Currency,
+                    Rate = _GroupCostParameters[0].Rate,
+                    CostType = _GroupCostParameters[0].CostType,
+                    CostTypeStartTime = Convert.ToDateTime(_GroupCostParameters[0].CostTypeStartTime).ToString("yyyy-MM-dd"),
+                    CostTypeEndTime = Convert.ToDateTime(_GroupCostParameters[0].CostTypeendTime).ToString("yyyy-MM-dd"),
+                    CostTypeNumber = _GroupCostParameters[0].CostTypenumber
+                };
+
+                List<dynamic> _ModuleSubPromptInfo = new List<dynamic>(); // 存储CTbale != 85 的动态数据
+                if (_GroupCostParameters.Count == 2)
                 {
+                    _ModulePromptInfo.CostTypeEndTime = Convert.ToDateTime(_GroupCostParameters[1].CostTypeendTime).ToString("yyyy-MM-dd");
+                }
 
+                foreach (var item in _GroupCostParameters)
+                {
                     decimal _rate = item.Rate;
                     decimal _scale = 0.95M;
                     #region 处理地接价格比例 总经理 国交部经理 主管 不下调 其他人 下调 5% 
@@ -6737,8 +6772,6 @@ namespace OASystem.API.Controllers
                     }
                     #endregion
 
-                  
-
                     GroupCostModulePromptInfo modulePromptInfo = new GroupCostModulePromptInfo()
                     {
                         CurrencyCode = item.Currency,
@@ -6758,7 +6791,7 @@ namespace OASystem.API.Controllers
                         modulePromptInfo.CostTypeNumber = item.LYJRS;
                     }
 
-                    if (dto.CTable == 79)
+                    if (dto.CTable == 79)//
                     {
                         modulePromptInfo.IndividualCost = item.DJCB / modulePromptInfo.CostTypeNumber;
                         modulePromptInfo.TotalCost = item.DJCB;
@@ -6779,8 +6812,6 @@ namespace OASystem.API.Controllers
                                                                       Convert.ToDateTime(it.Date) <= Convert.ToDateTime(item.CostTypeendTime)).ToList();
                     }
 
-                    //var _GroupCostsTypeData = _GroupCosts.Where(it => it.Date)
-                    List<dynamic> datas = new List<dynamic>();
                     /*
                      *  76	酒店预订
                      *  77	行程
@@ -6797,7 +6828,7 @@ namespace OASystem.API.Controllers
                     switch (dto.CTable)
                     {
                         case 76: // 酒店预订
-                            datas.AddRange(
+                            _ModuleSubPromptInfo.AddRange(
                                 _GroupCostsTypeData.Select(it => new
                                 {
                                     it.DAY,
@@ -6813,7 +6844,7 @@ namespace OASystem.API.Controllers
                             break;
                         case 79: // 车/导游地接
 
-                            datas.AddRange(
+                            _ModuleSubPromptInfo.AddRange(
                                 _GroupCostsTypeData.Select(it => new
                                 {
                                     Date = it.Date,
@@ -6834,6 +6865,8 @@ namespace OASystem.API.Controllers
 
                             break;
                         case 85: // 机票
+
+                            List<dynamic> datas = new List<dynamic>();
                             datas.Add(
                                 new
                                 {
@@ -6853,16 +6886,22 @@ namespace OASystem.API.Controllers
                                 }
                             );
 
+                            modulePromptInfo.Data = datas;
+                            _ModulePromptInfos.Add(modulePromptInfo);
+
                             break;
                         default:
                             break;
                     }
+                }
 
 
-                    modulePromptInfo.Data = datas;
-                    _ModulePromptInfos.Add(modulePromptInfo);
-
+                if (dto.CTable != 85)
+                {
+                    _ModulePromptInfo.Data = _ModuleSubPromptInfo;
+                    _ModulePromptInfos.Add(_ModulePromptInfo);
                 }
+                
                 _view.ModulePromptInfos = _ModulePromptInfos;
 
                 return Ok(JsonView(true,"操作成功!", _view));

+ 26 - 3
OASystem/OASystem.Api/OAMethodLib/GeneralMethod.cs

@@ -11,6 +11,7 @@ using OASystem.Domain.Entities.District;
 using OASystem.Domain.Entities.Financial;
 using OASystem.Domain.Entities.Groups;
 using OASystem.Domain.ViewModels.Financial;
+using OASystem.Domain.ViewModels.Groups;
 using OASystem.Domain.ViewModels.JuHeExchangeRate;
 using OASystem.Infrastructure.Repositories.CRM;
 using OASystem.Infrastructure.Repositories.Groups;
@@ -298,7 +299,7 @@ namespace OASystem.API.OAMethodLib
 
         /// <summary>
         /// 业务模块 团组操作权限
-        /// 验证
+        /// 验证 并返回可操作的团
         /// </summary>
         /// <param name="diId">团组Id</param>
         /// <param name="userId">用户Id</param>
@@ -313,7 +314,7 @@ namespace OASystem.API.OAMethodLib
                 return _result;
             }
 
-            var data = await _dirRep._sqlSugar.Queryable<Grp_GroupsTaskAssignment>().Where(it => it.DIId == diId && it.UId == userId && it.CTId == CTable && it.IsDel == 0).FirstAsync();
+            var data = _dirRep._sqlSugar.Queryable<Grp_GroupsTaskAssignment>().Where(it => it.DIId == diId && it.UId == userId && it.CTId == CTable && it.IsDel == 0).First();
 
             if (data == null)
             {
@@ -323,11 +324,33 @@ namespace OASystem.API.OAMethodLib
             {
                 _result.Code = 0;
             }
-
             return _result;
         }
 
 
+        /// <summary>
+        /// 业务模块 团组操作权限
+        /// 返回可操作的团
+        /// </summary>
+        /// <param name="diId">团组Id</param>
+        /// <param name="userId">用户Id</param>
+        /// <param name="CTable">业务模块Id</param>
+        /// <returns></returns>
+        public static async Task<List<Web_ShareGroupInfoView>> PostOperationAuthReturnGroupInfosAsync(int userId, int CTable)
+        {
+            List<Web_ShareGroupInfoView> _ShareGroupInfoViews = new List<Web_ShareGroupInfoView>();
+            var taskDatas = _dirRep._sqlSugar.Queryable<Grp_GroupsTaskAssignment>().Where(it => it.UId == userId && it.CTId == CTable && it.IsDel == 0).ToList();
+
+            if (taskDatas.Count < 1) return _ShareGroupInfoViews;
+
+            string diIds = string.Join(",", taskDatas.Select(it => it.DIId).ToList());
+            string sql = string.Format(@"Select Id,TeamName,TourCode,ClientName,VisitCountry,VisitStartDate,VisitEndDate,VisitDays,VisitPNumber 
+                                            From Grp_DelegationInfo Where Id In({0}) And IsDel = 0 Order By Id Desc", diIds);
+            _ShareGroupInfoViews = await _dirRep._sqlSugar.SqlQueryable<Web_ShareGroupInfoView>(sql).ToListAsync();
+                
+            return _ShareGroupInfoViews;
+        }
+
         #endregion
 
         #region 团组相关 

+ 1 - 2
OASystem/OASystem.Infrastructure/Repositories/Groups/DecreasePaymentsRepository.cs

@@ -70,7 +70,6 @@ namespace OASystem.Infrastructure.Repositories.Groups
             {
                 #region 团组下拉框
 
-
                 List<Grp_GroupsTaskAssignment> grp_GroupsTaskAssignment = Query<Grp_GroupsTaskAssignment>(a => a.IsDel == 0 && a.UId == dto.UserId && a.CTId == dto.CTId).ToList();
 
                 string DiId = "0";
@@ -82,7 +81,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 {
                     DiId = DiId.Substring(0, DiId.Length - 1);
                 }
-                string sql = string.Format(@"select * from Grp_DelegationInfo where Id in({0}) and IsDel={1}", DiId, 0);
+                string sql = string.Format(@"select * from Grp_DelegationInfo where Id in({0}) and IsDel={1} Order By CreateTime Desc", DiId, 0);
                 List<Grp_DelegationInfo> grp_Delegations = _sqlSugar.SqlQueryable<Grp_DelegationInfo>(sql).ToList();
                 
                 if (grp_Delegations.Count == 0)