浏览代码

合并服务器

yuanrf 10 月之前
父节点
当前提交
a58dde1f43

+ 4 - 0
OASystem/EntitySync/Program.cs

@@ -135,5 +135,9 @@ db.CodeFirst.SetStringDefaultLength(50).BackupTable().InitTables(new Type[]
     //typeof(Grp_HotelReservationsContent),  //酒店费用子表
     //typeof(Grp_VisitingClients),  //拜访团组客户
     //typeof(Grp_ApprovalTravelDetails),  //公务出访表
+     //typeof(Sys_Countries),  //洲
+     //typeof(Sys_Continent),  //国家
+     typeof(Sys_Cities),  //城市
+
 });
 Console.WriteLine("数据库结构同步完成!");

+ 16 - 31
OASystem/OASystem.Api/Controllers/FinancialController.cs

@@ -506,22 +506,9 @@ namespace OASystem.API.Controllers
         /// <returns></returns>
         [HttpPost]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
-        public async Task<IActionResult> GetForeignReceivablesDataSources()
+        public async Task<IActionResult> GetForeignReceivablesDataSources(ForeignReceivablesDataSourcesDto dto)
         {
-            try
-            {
-                Result ffrData = await _ForForeignReceivablesRep.GetDataSource();
-                if (ffrData.Code != 0)
-                {
-                    return Ok(JsonView(false, ffrData.Msg));
-                }
-                return Ok(JsonView(true, ffrData.Msg, ffrData.Data));
-            }
-            catch (Exception ex)
-            {
-                return Ok(JsonView(false, ex.Message));
-                throw;
-            }
+            return Ok(await _ForForeignReceivablesRep.GetDataSource(dto));
         }
 
         /// <summary>
@@ -731,21 +718,9 @@ namespace OASystem.API.Controllers
         /// <returns></returns>
         [HttpPost]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
-        public async Task<IActionResult> PostGroupReceivablesDataSource()
+        public async Task<IActionResult> PostGroupReceivablesDataSource(ForeignReceivablesDataSourcesDto dto)
         {
-            try
-            {
-                Result ffrData = await _ForForeignReceivablesRep.PostDataSource();
-                if (ffrData.Code != 0)
-                {
-                    return Ok(JsonView(false, ffrData.Msg));
-                }
-                return Ok(JsonView(true, ffrData.Msg, ffrData.Data));
-            }
-            catch (Exception ex)
-            {
-                return Ok(JsonView(false, ex.Message));
-            }
+            return Ok(await _ForForeignReceivablesRep.PostDataSource(dto));
         }
 
         /// <summary>
@@ -1740,11 +1715,21 @@ namespace OASystem.API.Controllers
                 }
             }
 
-
             #endregion
 
+            //已收款项 判断如果是市场部的人员进来的话 只显示自己的 其他的都显示全部的
+            string userSqlWhere = "";
+            var userInfos = await _sqlSugar.Queryable<Sys_Users>()
+                                           .InnerJoin<Sys_Department>((u, d) => u.DepId == d.Id)
+                                           .Where((u, d) => u.IsDel == 0 && d.DepName.Contains("市场部") && u.Id == dto.CurrUserId)
+                                           .ToListAsync();
+
+           
+            if (userInfos.Count > 0) userSqlWhere = string.Format(@$" And JietuanOperator={dto.CurrUserId} ");
+
+
             //排序倒序
-            string sql = string.Format(@" select distinct fr.diid,di.TeamName,di.ClientUnit,di.VisitDate,di.CreateTime from Fin_ForeignReceivables fr join Grp_DelegationInfo di on fr.DIID = di.id  {0} Order By di.CreateTime Desc", sqlWhere);
+            string sql = string.Format(@$"select distinct fr.diid,di.TeamName,di.ClientUnit,di.VisitDate,di.CreateTime from Fin_ForeignReceivables fr join Grp_DelegationInfo di on fr.DIID = di.id {sqlWhere}  {userSqlWhere}  Order By di.CreateTime Desc");
 
             List<PostSyntheticalReceivableByDateRangeView> list_rst = _sqlSugar.SqlQueryable<PostSyntheticalReceivableByDateRangeView>(sql).ToList();
 

+ 203 - 1
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -1419,6 +1419,9 @@ namespace OASystem.API.Controllers
                  */
                 var carFeeItems = await _groupRepository.Query<Sys_SetData>(s => s.STid == 83 && s.IsDel == 0).ToListAsync();
 
+
+                var initDatas = await _groupRepository.Query<Sys_SetData>(s => s.IsDel == 0).ToListAsync();
+
                 var cityData = await _groupRepository.Query<Grp_NationalTravelFee>(s => s.IsDel == 0).ToListAsync();
 
                 /*
@@ -1448,6 +1451,10 @@ namespace OASystem.API.Controllers
 
                     _detail.PriceName = priceModule;
 
+                    _detail.PayType = initDatas.Find(it => it.Id == entity.PayDId)?.Name ?? "-";
+                    _detail.CardType = initDatas.Find(it => it.Id == entity.CTDId)?.Name ?? "-";
+
+
                     /*
                      * 应付款金额	
                      */
@@ -1574,6 +1581,9 @@ namespace OASystem.API.Controllers
                                 var roomData = _HotelReservationsContents1.Find(it => it.PriceType == 1);
                                 if (roomData != null)
                                 {
+                                    _detail.PayType = initDatas.Find(it => it.Id == roomData.PayDId)?.Name ?? "-";
+                                    _detail.CardType = initDatas.Find(it => it.Id == roomData.CTDId)?.Name ?? "-";
+
                                     roomBool = roomData.IsOppay == 1 ? "是" : "否";
                                     roomFee = roomData.Price;
                                     var roomCurrData = currencyItems.Find(s => s.Id == roomData.Currency);
@@ -12016,7 +12026,6 @@ ORDER by  gctggrc.id DESC
 
         #endregion
 
-
         #region 酒店询价
         /// <summary>
         /// 酒店询价
@@ -12100,6 +12109,199 @@ ORDER by  gctggrc.id DESC
         #endregion
 
 
+        #region 下载匹配op行程单
+        /// <summary>
+        /// 匹配op行程单
+        /// Init
+        /// </summary>
+        /// <param name="dto">团组列表请求dto</param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostMateOpGroupInit(MateOpGroupInitDto dto)
+        {
+            if (dto.CurrUserId < 1) return Ok(JsonView(false, MsgTips.UserId));
+
+            bool isDepStatus = await GeneralMethod.IsMarketingStaff(dto.CurrUserId);
+            List<Grp_DelegationInfo> groupInfos = new List<Grp_DelegationInfo>();
+            if (isDepStatus)
+            {
+                groupInfos = await _sqlSugar.Queryable<Grp_DelegationInfo>().Where(it => it.IsDel == 0 && it.JietuanOperator == dto.CurrUserId).OrderByDescending(it => it.CreateUserId).ToListAsync();
+            }
+            else
+            {
+                groupInfos = await _sqlSugar.Queryable<Grp_DelegationInfo>().Where(it => it.IsDel == 0).OrderByDescending(it => it.CreateUserId).ToListAsync();
+            }
+
+
+            var country = groupInfos.Select(it => it.VisitCountry).ToList();
+            List<string> countrys = new List<string>();
+            foreach (var item in country)
+            {
+                var data = _groupRepository.FormartTeamName(item);
+                var dataArray = _groupRepository.GroupSplitCountry(data);
+                if (dataArray.Count > 0) countrys.AddRange(dataArray);
+            }
+            countrys = countrys.Distinct().ToList();
+
+            for (int i = 0; i < countrys.Count; i++)
+            {
+                string item = countrys[i];
+                if (string.IsNullOrEmpty(item) || item.Contains("-"))
+                {
+                    countrys.Remove(item);
+                    i--;
+                }
+            }
+
+            var teamNames = groupInfos.Select(it => it.TeamName).ToList();
+
+            for (int i = 0; i < teamNames.Count; i++)
+            {
+                string item = teamNames[i];
+                if (string.IsNullOrEmpty(item) || item.Contains("-"))
+                {
+                    teamNames.Remove(item);
+                    i--;
+                }
+            }
+            return Ok(JsonView(true, "操作成功", new { countryDatas = countrys, teamNameDatas = teamNames }));
+               
+        }
+
+        /// <summary>
+        /// 匹配op行程单
+        /// 接团信息列表 Page
+        /// </summary>
+        /// <param name="dto">团组列表请求dto</param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostMateOpGroupPageList(MateOpGroupPageListDto dto)
+        {
+            #region  参数验证
+            if (dto.UserId < 1) return Ok(JsonView(false, "员工Id为空"));
+            if (dto.PageId < 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
+            if (dto.PortType == 1 || dto.PortType == 2 || dto.PortType == 3) // web/Android
+            {
+                string sqlWhere = "";
+
+                if (!string.IsNullOrEmpty(dto.Country))
+                {
+                    sqlWhere += string.Format(@$" And di.VisitCountry Like '%{dto.Country}%'");
+                }
+
+                //TODO: Area 数据源不确定
+
+                if (!string.IsNullOrEmpty(dto.TeamName))
+                {
+                    sqlWhere += string.Format(@$" And di.TeamName Like '%{dto.Country}%'");
+                }
+
+
+                string sql = string.Format(@$"Select Row_Number,Id,SalesQuoteNo,TourCode,TeamTypeId, TeamType,
+                                             	TeamLevId,TeamLev,TeamName,ClientName,ClientUnit,
+                                             	VisitDate,VisitDays,VisitPNumber,JietuanOperatorId,
+                                             	JietuanOperator,IsSure,CreateTime
+                                             	From (
+                                             	Select row_number() over(order by gdi.CreateTime Desc) as Row_Number,
+                                             	gdi.Id,SalesQuoteNo,TourCode,ssd.Id TeamTypeId, ssd.Name TeamType,
+                                             	ssd1.Id TeamLevId,ssd1.Name TeamLev,TeamName,ClientName,ClientUnit,
+                                             	VisitDate,VisitDays,VisitPNumber,JietuanOperator JietuanOperatorId,
+                                             	su.CnName JietuanOperator,IsSure,gdi.CreateTime
+                                             	From  Grp_DelegationInfo gdi
+                                             	Left Join Sys_SetData ssd On gdi.TeamDid = ssd.Id 
+                                             	Left Join Sys_SetData ssd1 On gdi.TeamLevSId = ssd1.Id
+                                             	Left Join Sys_Users su On gdi.JietuanOperator = su.Id
+                                             	Where gdi.IsDel = 0 {sqlWhere}
+                                             ) temp");
+
+                RefAsync<int> total = 0;//REF和OUT不支持异步,想要真的异步这是最优解
+                var _DelegationList = await _sqlSugar.SqlQueryable<DelegationListView>(sql).ToPageListAsync(dto.PageIndex, dto.PageSize, total);//ToPageAsync
+
+                #region 处理所属部门
+                /*
+                 * 1.sq 和 gyy 等显示 市场部
+                 * 2.王鸽和主管及张总还有管理员号统一国交部
+                 * 2-1.  4	管理员 ,21	张海麟
+                 */
+                List<int> userIds = _DelegationList.Select(it => it.JietuanOperatorId).ToList();
+                List<int> userIds1 = new List<int>() { 4, 21 };
+                var UserDepDatas = _sqlSugar.Queryable<Sys_Users>()
+                                            .LeftJoin<Sys_Department>((u, d) => u.DepId == d.Id)
+                                            .Where(u => u.IsDel == 0 && userIds.Contains(u.Id))
+                                            .Select((u, d) => new { UserId = u.Id, DepName = userIds1.Contains(u.Id) ? "国交部" : d.DepName })
+                                            .ToList();
+
+                foreach (var item in _DelegationList)
+                {
+                    item.Department = UserDepDatas.Find(it => item.JietuanOperatorId == it.UserId)?.DepName ?? "Unknown";
+                }
+                #endregion
+
+                //var _view = new
+                //{
+                //    PageFuncAuth = pageFunAuthView,
+                //    Data = _DelegationList
+                //};
+                return Ok(JsonView(true, "查询成功!", _DelegationList, total));
+            }
+            else
+            {
+                return Ok(JsonView(false, "查询失败"));
+            }
+        }
+
+
+        /// <summary>
+        /// 匹配op行程单
+        /// 行程单下载
+        /// </summary>
+        /// <param name="dto">团组列表请求dto</param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostMateOpGroupDownload(MateOpGroupDownloadDto dto)
+        {
+            #region  参数验证
+            if (dto.UserId < 1) return Ok(JsonView(false, "员工Id为空"));
+            if (dto.PageId < 1) return Ok(JsonView(false, "页面Id为空"));
+
+            PageFunAuthViewBase pageFunAuthView = new PageFunAuthViewBase();
+            #region 页面操作权限验证
+            pageFunAuthView = await GeneralMethod.PostUserPageFuncDatas(dto.UserId, dto.PageId);
+
+
+            if (pageFunAuthView.FilesDownloadAuth == 0) return Ok(JsonView(false, "您没有文件下载权限"));
+            #endregion
+
+            #endregion
+            if (dto.PortType == 1 || dto.PortType == 2 || dto.PortType == 3) // web/Android
+            {
+                var res = ExportTravel(new InitOpTravelDto() { Diid = dto.diId });
+                return Ok(res.GetType().GetProperty("Value").GetValue(res, null));
+            }
+            else
+            {
+                return Ok(JsonView(false, "下载失败!"));
+            }
+        }
+
+
+        #endregion
+
+
+
         #region 报批行程
         /// <summary>
         /// 报批行程初始化

+ 23 - 0
OASystem/OASystem.Api/OAMethodLib/GeneralMethod.cs

@@ -773,6 +773,29 @@ namespace OASystem.API.OAMethodLib
         }
 
         #endregion
+
+
+        #region 员工是否是市场部人员
+
+        /// <summary>
+        /// 验证市场部客户人员
+        /// </summary>
+        /// <param name="userId"></param>
+        /// <returns></returns>
+        public static async Task<bool> IsMarketingStaff(int userId)
+        {
+            var  userInfos = await _dirRep._sqlSugar
+                                          .Queryable<Sys_Users>()
+                                          .InnerJoin<Sys_Department>((u,d) => u.DepId == d.Id)
+                                          .Where((u,d) => u.IsDel == 0 && u.Id == userId && d.DepName.Contains("市场部"))
+                                          .ToListAsync();
+            if (userInfos.Count > 0) return true;
+
+            return false;
+        }
+
+        #endregion
+
         #endregion
 
         #region 团组汇率

+ 6 - 0
OASystem/OASystem.Domain/Dtos/Financial/ForForeignReceivablesDto.cs

@@ -6,6 +6,12 @@ using System.Threading.Tasks;
 
 namespace OASystem.Domain.Dtos.Financial
 {
+
+    public class ForeignReceivablesDataSourcesDto
+    {
+        public int CurrUserId { get; set; }
+    }
+
     /// <summary>
     /// 财务模块
     /// 对外收款

+ 2 - 0
OASystem/OASystem.Domain/Dtos/Financial/PostSyntheticalReceivableByDateRangeDto.cs

@@ -8,6 +8,8 @@ namespace OASystem.Domain.Dtos.Financial
 {
     public class PostSyntheticalReceivableByDateRangeDto:PortDtoBase
     {
+        public int CurrUserId { get; set; }
+
         public string beginDt { get; set; }
         public string endDt { get; set; }
 

+ 35 - 0
OASystem/OASystem.Domain/Dtos/Groups/MateOpTravelDto.cs

@@ -0,0 +1,35 @@
+using OASystem.Domain.ViewModels.System;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Dtos.Groups
+{
+    public class MateOpTravelDto
+    {
+    }
+
+    public class MateOpGroupInitDto
+    {
+        public int CurrUserId { get; set; }
+    }
+
+    public class MateOpGroupPageListDto: UserPageFuncDtoBase
+    {
+        public int PageIndex { get; set; } = 1;
+        public int PageSize { get; set; } = 10;
+
+        public string Country { get; set; }
+
+        public string Area { get; set; }
+
+        public string? TeamName { get; set; }
+    }
+
+    public class MateOpGroupDownloadDto : UserPageFuncDtoBase
+    {
+        public int diId { get; set; }
+    }
+}

+ 1 - 0
OASystem/OASystem.Domain/Dtos/Statistics/MarketingSalesDto.cs

@@ -150,6 +150,7 @@ namespace OASystem.Domain.Dtos.Statistics
 
     public class MarketingSalesVCSaveDto: MarketingSalesUserPageFuncDtoBase
     {
+        public int DiId { get; set; }
         public List<VisitingClientsListView> Items { get; set; }
     }
 

+ 58 - 0
OASystem/OASystem.Domain/Entities/System/Sys_Cities.cs

@@ -0,0 +1,58 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Entities.System
+{
+    /// <summary>
+    /// 城市
+    /// </summary>
+    public class Sys_Cities:EntityBase
+    {
+        /// <summary>
+        /// 国家Id
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int CountriesId { get; set; }
+
+        /// <summary>
+        /// 城市名称 CN
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
+        public string Name_CN { get; set; }
+
+        /// <summary>
+        /// 城市名称 EN
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(100)")]
+        public string Name_EN { get; set; }
+
+        /// <summary>
+        /// 父级Id
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int ParentId { get; set; }
+
+        /// <summary>
+        /// 城市等级
+        /// 1 省份 2 城市 3 区县
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public  int  Level { get; set; }
+
+        /// <summary>
+        /// 城市三字码
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(10)")]
+        public string ThreeCode { get; set; }
+
+        /// <summary>
+        /// 是否为省会城市/首都
+        /// 0 是 1 否
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int IsCapital { get; set; }
+    }
+}

+ 27 - 0
OASystem/OASystem.Domain/Entities/System/Sys_Continent.cs

@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Entities.System
+{
+    /// <summary>
+    /// 洲
+    /// </summary>
+    [SugarTable("Sys_Continent")]
+    public class Sys_Continent:EntityBase
+    {
+        /// <summary>
+        /// 洲名称 中文
+        /// </summary>
+        [SugarColumn(IsNullable = true , ColumnDataType = "varchar(50)")]
+        public string Name_CN { get; set; }
+
+        /// <summary>
+        /// 洲名称 英文
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(50)")]
+        public string Name_EN { get; set; }
+    }
+}

+ 52 - 0
OASystem/OASystem.Domain/Entities/System/Sys_Countries.cs

@@ -0,0 +1,52 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Entities.System
+{
+    /// <summary>
+    /// 国家
+    /// </summary>
+    [SugarTable("Sys_Countries")]
+    public class Sys_Countries: EntityBase
+    {
+        /// <summary>
+        /// 洲 Id
+        /// </summary>
+        [SugarColumn(IsNullable = true,ColumnDataType = "int")]
+        public int ContinentId { get; set; }
+
+        /// <summary>
+        /// 三字码
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(10)")]
+        public string ThreeCode { get; set; }
+
+        /// <summary>
+        /// 国家名称 CN 简称
+        /// </summary>
+        [SugarColumn(IsNullable = true,ColumnDataType = "varchar(50)")]
+        public string Name_CN { get; set; }
+
+        /// <summary>
+        /// 国家名称 CN 全称
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(100)")]
+        public string Name_CN_Full { get; set; }
+
+        /// <summary>
+        /// 国家名称 EN 简称
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(50)")]
+        public string Name_EN { get; set; }
+
+        /// <summary>
+        /// 国家名称 EN 全称
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(100)")]
+        public string Name_EN_Full { get; set; }
+
+    }
+}

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

@@ -146,6 +146,16 @@ namespace OASystem.Domain.ViewModels.Groups
         /// </summary>
         public string Balance { get; set; }
 
+        /// <summary>
+        /// 支付类型
+        /// </summary>
+        public string PayType { get; set; }
+
+        /// <summary>
+        /// 卡类型
+        /// </summary>
+        public string CardType { get; set; }
+
         /// <summary>
         /// 申请人
         /// </summary>

+ 41 - 11
OASystem/OASystem.Infrastructure/Repositories/Financial/ForeignReceivablesRepository.cs

@@ -6,6 +6,7 @@ using OASystem.Domain.Dtos.Financial;
 using OASystem.Domain.Dtos.Groups;
 using OASystem.Domain.Entities.Financial;
 using OASystem.Domain.ViewModels.Financial;
+using OASystem.Domain.ViewModels.Groups;
 using OASystem.Infrastructure.Repositories.Groups;
 using OASystem.Infrastructure.Repositories.System;
 using SqlSugar;
@@ -42,19 +43,34 @@ namespace OASystem.Infrastructure.Repositories.Financial
         /// 收款账单 数据源
         /// </summary>
         /// <returns></returns>
-        public async Task<Result> GetDataSource()
+        public async Task<JsonView> GetDataSource(ForeignReceivablesDataSourcesDto dto)
         {
-            Result result = new() { Code = -2 };
+            JsonView result = new() { Code = StatusCodes.Status204NoContent };
+
+            //已收款项 判断如果是市场部的人员进来的话 只显示自己的 其他的都显示全部的
+            var userInfos = await _sqlSugar.Queryable<Sys_Users>()
+                                           .InnerJoin<Sys_Department>((u, d) => u.DepId == d.Id)
+                                           .Where((u, d) => u.IsDel == 0 && d.DepName.Contains("市场部") && u.Id == dto.CurrUserId)
+                                           .ToListAsync();
+
+            string sqlWhere = "";
+            if (userInfos.Count > 0) sqlWhere = string.Format(@$" And JietuanOperator={dto.CurrUserId} ");
+
+            string sql = string.Format(@$"Select Id,TeamName GroupName From  Grp_DelegationInfo 
+                                             Where TeamName != '' And IsDel = 0 {sqlWhere} 
+                                             Order By Id Desc");
 
-            var groupNameData = await _delegationRep.GetGroupNameList(new GroupNameDto());
+            var _groupNameList = await _sqlSugar.SqlQueryable<GroupNameView>(sql).ToListAsync();
+
+            //var groupNameData = await _delegationRep.GetGroupNameList(new GroupNameDto());
             var currencyData = await _setDataRep.GetSetDataBySTId(_setDataRep, 66); //币种
             var remittanceMethodData = await _setDataRep.GetSetDataBySTId(_setDataRep, 14); //汇款方式
 
-            result.Code = 0;
+            result.Code = StatusCodes.Status200OK;
             result.Msg = "成功!";
             result.Data = new
             {
-                GroupNameData = groupNameData.Data,
+                GroupNameData = _groupNameList,
                 CurrencyData = currencyData.Data,
                 RemittanceMethodData = remittanceMethodData.Data
             };
@@ -222,7 +238,6 @@ namespace OASystem.Infrastructure.Repositories.Financial
             return result;
         }
 
-
         /// <summary>
         /// 根据diid查询团组应收款项
         /// </summary>
@@ -274,19 +289,34 @@ namespace OASystem.Infrastructure.Repositories.Financial
         /// 收款账单 数据源
         /// </summary>
         /// <returns></returns>
-        public async Task<Result> PostDataSource()
+        public async Task<JsonView> PostDataSource(ForeignReceivablesDataSourcesDto dto)
         {
-            Result result = new() { Code = -2 };
+            JsonView result = new() { Code = StatusCodes.Status204NoContent };
+
+            //已收款项 判断如果是市场部的人员进来的话 只显示自己的 其他的都显示全部的
+            var userInfos = await _sqlSugar.Queryable<Sys_Users>()
+                                           .InnerJoin<Sys_Department>((u, d) => u.DepId == d.Id)
+                                           .Where((u, d) => u.IsDel == 0 && d.DepName.Contains("市场部") && u.Id == dto.CurrUserId)
+                                           .ToListAsync();
+
+            string sqlWhere = "";
+            if (userInfos.Count > 0) sqlWhere = string.Format(@$" And JietuanOperator={dto.CurrUserId} ");
 
-            var groupNameData = await _delegationRep.GetGroupNameList(new GroupNameDto());
+            string sql = string.Format(@$"Select Id,TeamName GroupName From  Grp_DelegationInfo 
+                                             Where TeamName != '' And IsDel = 0 {sqlWhere} 
+                                             Order By Id Desc");
+
+            var _groupNameList = await _sqlSugar.SqlQueryable<GroupNameView>(sql).ToListAsync();
+
+            //var groupNameData = await _delegationRep.GetGroupNameList(new GroupNameDto());
             var currencyData = await _setDataRep.GetSetDataBySTId(_setDataRep, 66); //币种
             var remittanceMethodData = await _setDataRep.GetSetDataBySTId(_setDataRep, 14); //汇款方式
 
-            result.Code = 0;
+            result.Code = StatusCodes.Status200OK;
             result.Msg = "成功!";
             result.Data = new
             {
-                GroupNameData = groupNameData.Data,
+                GroupNameData = _groupNameList,
                 CurrencyData = currencyData.Data,
                 RemittanceMethodData = remittanceMethodData.Data
             };

+ 24 - 14
OASystem/OASystem.Infrastructure/Repositories/Groups/VisitingClientsRepository.cs

@@ -1,4 +1,5 @@
 using AutoMapper;
+using EyeSoft.Runtime.InteropServices;
 using OASystem.Domain;
 using OASystem.Domain.Dtos.Statistics;
 using OASystem.Domain.Entities.Groups;
@@ -102,24 +103,30 @@ Where vc.Isdel = 0 And vc.DiId = {diId}");
 
             if (_dto.PortType == 1 || _dto.PortType == 2 || _dto.PortType == 3)
             {
+                if (_dto.DiId < 1)
+                {
+                    return new JsonView() { Code = (int)BusStatusCode.DiIdValueError, Msg = BusStatusCode.DiIdValueError.GetEnumDescription() };
+                }
+
+
+                //int diid = infos[0].DiId;
+                int userId = _dto.UserId;
+                //if (diid < 1) return new JsonView() { Code = (int)BusStatusCode.DiIdValueError, Msg = BusStatusCode.DiIdValueError.GetEnumDescription() };
+
+                if (userId < 1) return new JsonView() { Code = (int)BusStatusCode.UserIdValueError, Msg = BusStatusCode.UserIdValueError.GetEnumDescription() };
+
+                //执行逻辑删除
+                var update = await _sqlSugar.Updateable<Grp_VisitingClients>()
+                                            .SetColumns(it => new Grp_VisitingClients() { IsDel = 1, DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), DeleteUserId = _dto.UserId })
+                                            .Where(it => it.DiId == _dto.DiId)
+                                            .ExecuteCommandAsync();
 
                 if (infos.Count > 0)
                 {
-                    infos.ForEach(it => {
+                    infos.ForEach(it =>
+                    {
                         it.CreateUserId = _dto.UserId;
                     });
-                    int diid = infos[0].DiId;
-                    int userId = _dto.UserId; 
-                    if (diid < 1) return new JsonView() { Code = (int)BusStatusCode.DiIdValueError, Msg = BusStatusCode.DiIdValueError.GetEnumDescription() };
-                    
-                    if (userId < 1) return new JsonView() { Code = (int)BusStatusCode.UserIdValueError, Msg = BusStatusCode.UserIdValueError.GetEnumDescription() };
-
-
-                    //执行逻辑删除
-                    var update = await _sqlSugar.Updateable<Grp_VisitingClients>()
-                                                .SetColumns(it => new Grp_VisitingClients() { IsDel = 1, DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), DeleteUserId = userId })
-                                                .Where(it => it.DiId == diid)
-                                                .ExecuteCommandAsync();
 
                     //执行添加
                     var add = await _sqlSugar.Insertable(infos).ExecuteCommandAsync();
@@ -127,7 +134,10 @@ Where vc.Isdel = 0 And vc.DiId = {diId}");
                     if (add > 0) return new JsonView() { Code = (int)BusStatusCode.Success, Msg = BusStatusCode.Success.GetEnumDescription() };
 
                 }
-                else new JsonView() { Code = (int)BusStatusCode.ItemsNotFound, Msg = BusStatusCode.ItemsNotFound.GetEnumDescription() };
+                else
+                {
+                  return  new JsonView() { Code = (int)BusStatusCode.Success, Msg = BusStatusCode.Success.GetEnumDescription() };
+                }
             }
             else return new JsonView() { Code = (int)BusStatusCode.PortTypeError, Msg = BusStatusCode.PortTypeError.GetEnumDescription() };