Browse Source

增加 团组等操作

leiy 1 year ago
parent
commit
3a7747068e

+ 13 - 13
OASystem/OASystem.Api/Controllers/AuthController.cs

@@ -84,19 +84,19 @@ namespace OASystem.API.Controllers
 
             #region 测试添加系统消息
 
-            //await _message.AddMsg(new MessageDto()
-            //{
-            //    Type = 1,
-            //    IssuerId = 208,
-            //    Title = "测试添加消息标题",
-            //    Content = "消息体测试",
-            //    ReleaseTime = DateTime.Now,
-            //    UIdList = new List<int> {
-            //        5,
-            //        208,
-            //        219
-            //    }
-            //});
+            await _message.AddMsg(new MessageDto()
+            {
+                Type = 1,
+                IssuerId = 208,
+                Title = "测试添加消息标题",
+                Content = "消息体测试",
+                ReleaseTime = DateTime.Now,
+                UIdList = new List<int> {
+                    5,
+                    208,
+                    219
+                }
+            });
             #endregion
 
             return Ok(JsonView(view));

+ 96 - 0
OASystem/OASystem.Api/Controllers/GroupController.cs

@@ -0,0 +1,96 @@
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+using OASystem.Domain.Dtos.Group;
+using OASystem.Domain.Dtos.System;
+using OASystem.Infrastructure.Repositories.Group;
+
+namespace OASystem.API.Controllers
+{
+    /// <summary>
+    /// 团组相关
+    /// </summary>
+    //[Authorize]
+    [Route("api/[controller]/[action]")]
+    [ApiController]
+    public class GroupController : ControllerBase
+    {
+        private readonly IMapper _mapper;
+        private readonly DelegationInfoRepository _groupRepository;
+
+        public GroupController(IMapper mapper, DelegationInfoRepository groupRepository)
+        { 
+            this._mapper = mapper;
+            this._groupRepository = groupRepository;
+        }
+
+        /// <summary>
+        ///  接团信息
+        /// </summary>
+        /// <param name="dto">团组列表请求dto</param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<IActionResult> GetGroupList(GroupListDto dto)
+        { 
+            var groupData= await _groupRepository.GetGroupList(dto);
+            if (groupData.Code != 0)
+            {
+                return Ok(JsonView(false, groupData.Msg));
+            }
+
+            return Ok(JsonView(groupData.Data, groupData.Data.Count));
+        }
+
+        /// <summary>
+        ///  接团信息
+        /// </summary>
+        /// <param name="dto">团组info请求dto</param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<IActionResult> GetGroupInfo(GroupInfoDto dto)
+        {
+            var groupData = await _groupRepository.GetGroupInfo(dto);
+            if (groupData.Code != 0)
+            {
+                return Ok(JsonView(false, groupData.Msg));
+            }
+
+            return Ok(JsonView(groupData.Data, groupData.Data.Count));
+        }
+
+        /// <summary>
+        /// 接团信息 编辑添加
+        /// 基础信息数据源
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<IActionResult> GetGroupEditBasicSource(GroupListDto dto)
+        {
+            var groupData = await _groupRepository.GetGroupEditBasicSource(dto);
+            if (groupData.Code != 0)
+            {
+                return Ok(JsonView(false, groupData.Msg));
+            }
+
+            return Ok(JsonView(groupData.Data));
+        }
+
+        /// <summary>
+        /// 接团信息 操作
+        /// 基础信息数据源
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<IActionResult> GroupOperation(GroupOperationDto dto)
+        {
+            var groupData = await _groupRepository.GroupOperation(dto);
+            if (groupData.Code != 0)
+            {
+                return Ok(JsonView(false, groupData.Msg));
+            }
+
+            return Ok(JsonView(true));
+        }
+    }
+}

+ 41 - 5
OASystem/OASystem.Api/Controllers/SystemController.cs

@@ -9,11 +9,12 @@ namespace OASystem.API.Controllers
     [Route("api/[controller]/[action]")]
     public class SystemController : ControllerBase
     {
-      
+        private readonly IMapper _mapper;
+
+        private readonly MessageRepository _message;
         private readonly CompanyRepository _syscomRep;
         private readonly DepartmentRepository _sysDepRep;
         private readonly UsersRepository _userRep;
-        private readonly IMapper _mapper;
 
         private readonly SetDataRepository _setDataRepository;
         private readonly SystemMenuPermissionRepository _SystemMenuPermissionRepository;
@@ -23,12 +24,13 @@ namespace OASystem.API.Controllers
         private readonly JobPostAuthorityRepository _JobPostAuthorityRepository;
         private readonly JobPostRepository _jobRep;
 
-        public SystemController( CompanyRepository syscom, DepartmentRepository sysDepRep, UsersRepository userRep,
+        public SystemController(MessageRepository message, CompanyRepository syscom, DepartmentRepository sysDepRep, UsersRepository userRep,
             IMapper mapper, SetDataRepository setDataRepository, CompanyRepository companyRepository,
             SystemMenuPermissionRepository systemMenuPermissionRepository, PageFunctionPermissionRepository pageFunctionPermissionRepository,
-            SystemMenuAndFunctionRepository systemMenuAndFunctionRepository, JobPostAuthorityRepository jobPostAuthorityRepository, JobPostRepository jobRep)
-            
+            SystemMenuAndFunctionRepository systemMenuAndFunctionRepository, JobPostAuthorityRepository jobPostAuthorityRepository, 
+            JobPostRepository jobRep)
         {
+            _message = message;
             _syscomRep = syscom;
             _sysDepRep = sysDepRep;
             _userRep = userRep;
@@ -41,6 +43,40 @@ namespace OASystem.API.Controllers
             _JobPostAuthorityRepository = jobPostAuthorityRepository;
         }
 
+
+        #region 系统消息
+
+        /// <summary>
+        /// 获取消息List
+        /// </summary>
+        /// <param name="uId">用户Id</param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> GetMsgList(int uId)
+        {
+            try
+            {
+                var msgResult = await _message.GetMsgList(uId);
+                if (msgResult.Code != 0)
+                {
+                    return Ok(JsonView(msgResult.Msg));
+                }
+                
+
+                return Ok(JsonView(true, "查询成功!", msgResult.Data));
+
+            }
+            catch (Exception ex)
+            {
+                return Ok(JsonView(false, ex.Message));
+                throw;
+            }
+        }
+
+
+        #endregion
+
         #region 企业操作
         /// <summary>
         /// 查询企业数据

+ 5 - 2
OASystem/OASystem.Api/OAMethodLib/GeneralMethod.cs

@@ -6,11 +6,13 @@ namespace OASystem.API.OAMethodLib
 {
     public static class GeneralMethod
     {
-       
-        #region 消息
 
         
 
+        #region 消息
+
+
+
         #endregion
 
         #region md5 加密
@@ -109,6 +111,7 @@ namespace OASystem.API.OAMethodLib
         private static DateTime dateStart = new DateTime(1970, 1, 1, 8, 0, 0);
         private static long longTime = 621355968000000000;
         private static int samllTime = 10000000;
+        
         /// <summary>
         /// 时间戳 转 datetime
         /// </summary>

+ 10 - 1
OASystem/OASystem.Domain/AutoMappers/_baseMappingProfile.cs

@@ -1,6 +1,8 @@
-using OASystem.Domain.Dtos.System;
+using OASystem.Domain.Dtos.Group;
+using OASystem.Domain.Dtos.System;
 using OASystem.Domain.Dtos.UserDto;
 using OASystem.Domain.Entities;
+using OASystem.Domain.Entities.Groups;
 using OASystem.Domain.Entities.System;
 using OASystem.Domain.ViewModels;
 using OASystem.Domain.ViewModels.System;
@@ -15,6 +17,7 @@ namespace OASystem.Domain.AutoMappers
             CreateMap<LoginDto, Sys_Users>();
             #endregion
 
+            #region Systen
 
             #region 消息
 
@@ -46,6 +49,12 @@ namespace OASystem.Domain.AutoMappers
 
             #endregion
 
+            #endregion
+
+            #region Group
+
+            CreateMap<GroupListDto, Grp_DelegationInfo>();
+            #endregion
         }
     }
 }

+ 169 - 0
OASystem/OASystem.Domain/Dtos/Group/GroupListDto.cs

@@ -0,0 +1,169 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Dtos.Group
+{
+    /// <summary>
+    /// 获取团组列表 请求实体类
+    /// </summary>
+    public class GroupListDto:DtoBase
+    {
+    }
+
+    /// <summary>
+    /// 获取团组singe 请求实体类
+    /// </summary>
+    public class GroupInfoDto : DtoBase
+    {
+        /// <summary>
+        /// 团组Id 
+        /// </summary>
+        public int Id { get; set; }
+    }
+
+    /// <summary>
+    /// 团组信息 操作
+    /// 请求dto
+    /// </summary>
+    public class GroupOperationDto : DtoBase
+    {
+        /// <summary>
+        /// 操作状态
+        /// 1 添加 2 修改
+        /// </summary>
+        public int Status { get; set; }
+
+        /// <summary>
+        /// 团组Id
+        /// </summary>
+        public int Id { get; set; }
+
+        /// <summary>
+        /// 用户Id
+        /// </summary>
+        public int UserId { get; set; }
+
+        /// <summary>
+        /// 销售报价号
+        /// </summary>
+        public string SalesQuoteNo { get; set; }
+
+        /// <summary>
+        /// 团组操作人
+        /// </summary>
+        public int JietuanOperator { get; set; }
+
+        /// <summary>
+        /// 客户级别
+        /// setData Id
+        /// </summary>
+        public int TeamLevSId { get; set; }
+
+        /// <summary>
+        /// 团组类型 
+        /// setData Id
+        /// </summary>
+        public int TeamDid { get; set; }
+
+        /// <summary>
+        /// 团组名称
+        /// </summary>
+        public string TeamName { get; set; }
+
+        /// <summary>
+        /// 客户名称
+        /// </summary>
+        public string ClientName { get; set; }
+
+        /// <summary>
+        /// 客户单位
+        /// </summary>
+        public string ClientUnit { get; set; }
+
+        /// <summary>
+        /// 出访国家
+        /// 多个国家 | 隔开 eg:韩国|日本
+        /// </summary>
+        public string VisitCountry { get; set; }
+
+        /// <summary>
+        /// 出访时间
+        /// </summary>
+        public DateTime VisitDate { get; set; }
+
+        /// <summary>
+        /// 出访天数
+        /// </summary>
+        public int VisitDays { get; set; }
+
+        /// <summary>
+        /// 出访人数
+        /// </summary>
+        public int VisitPNumber { get; set; }
+
+        /// <summary>
+        /// 合同时间
+        /// </summary>
+        public DateTime TontractTime { get; set; }
+
+        /// <summary>
+        /// 预付期限
+        /// </summary>
+        public DateTime PayDay { get; set; }
+
+        /// <summary>
+        /// 支付款项(预付)
+        /// </summary>
+        public decimal PaymentMoney { get; set; }
+
+        /// <summary>
+        /// 出访目的
+        /// </summary>
+        public string VisitPurpose { get; set; }
+
+        /// <summary>
+        /// 特殊需求
+        /// </summary>
+        public string SpecialNeeds { get; set; }
+
+        /// <summary>
+        /// 其他需求
+        /// </summary>
+        public string OtherNeeds { get; set; }
+
+        /// <summary>
+        /// 出国任务审批部门名称
+        /// </summary>
+        public string CGRWSPBMMC { get; set; }
+
+        /// <summary>
+        /// 出国任务审批文号
+        /// </summary>
+        public string CGRWSPWH { get; set; }
+
+        /// <summary>
+        /// 政治审查部门名称
+        /// </summary>
+        public string ZZSCBMMC { get; set; }
+
+        /// <summary>
+        /// 政治审查部门审批文号
+        /// </summary>
+        public string ZZSCSPWH { get; set; }
+
+        /// <summary>
+        /// 手机号
+        /// </summary>
+        public string TellPhone { get; set; }
+
+        /// <summary>
+        /// 备注
+        /// </summary>
+        public string Remark { get; set; }
+    }
+
+    
+}

+ 3 - 2
OASystem/OASystem.Domain/Entities/Groups/Grp_DelegationInfo.cs

@@ -145,9 +145,10 @@ namespace OASystem.Domain.Entities.Groups
         public string TellPhone { get; set; }
         /// <summary>
         /// 团组客户级别
+        /// 数据类型外键
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(100)")]
-        public string TeamLev { get; set; }
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int TeamLevSId { get; set; }
         /// <summary>
         /// 酒店投诉标识 0-未投诉1-已投诉
         /// </summary>

+ 221 - 0
OASystem/OASystem.Domain/ViewModels/Group/DelegationInfoView.cs

@@ -0,0 +1,221 @@
+using OASystem.Domain.Dtos;
+using OASystem.Domain.Entities.Groups;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.ViewModels.Group
+{
+    /// <summary>
+    /// 接团信息
+    /// 返回视图
+    /// </summary>
+    public class DelegationInfoView : Grp_DelegationInfo { }
+    
+    /// <summary>
+    /// 接团信息列表
+    /// 返回视图
+    /// </summary>
+    public class DelegationInfoWebView
+    {
+        /// <summary>
+        /// 主键Id
+        /// </summary>
+        public int Id { get; set; }
+
+        /// <summary>
+        /// 销售报价号
+        /// </summary>
+        public string SalesQuoteNo { get; set; }
+
+        /// <summary>
+        /// 团组类型
+        /// </summary>
+        public int TeamDid { get; set; }
+
+        /// <summary>
+        /// 团组等级
+        /// </summary>
+        public int TeamLevSId { get; set; }
+
+        /// <summary>
+        /// 团组名称
+        /// </summary>
+        public string TeamName { get; set; }
+
+        /// <summary>
+        /// 客户名称
+        /// </summary>
+        public string ClientName { get; set; }
+
+        /// <summary>
+        /// 客户所属公司
+        /// </summary>
+        public string ClientUnit { get; set; }
+
+        /// <summary>
+        /// 出访国家
+        /// </summary>
+        public string VisitCountry { get; set; }
+
+        /// <summary>
+        /// 出团日期
+        /// </summary>
+        public DateTime VisitDate { get; set; }
+
+        /// <summary>
+        /// 出行天数
+        /// </summary>
+        public int VisitDays { get; set; }
+
+        /// <summary>
+        /// 出行人数
+        /// </summary>
+        public int VisitPNumber { get; set; }
+
+        /// <summary>
+        /// 合同时间
+        /// </summary>
+        public DateTime TontractTime { get; set; }
+
+        /// <summary>
+        /// 预付日期
+        /// </summary>
+        public DateTime PayDay { get; set; }
+
+        /// <summary>
+        /// 预付金额
+        /// </summary>
+        public decimal PaymentMoney { get; set; }
+
+        /// <summary>
+        /// 出访目的
+        /// </summary>
+        public string VisitPurpose { get; set; }
+
+        /// <summary>
+        /// 特俗需求
+        /// </summary>
+        public string SpecialNeeds { get; set; }
+
+        /// <summary>
+        /// 其他需求
+        /// </summary>
+        public string OtherNeeds { get; set; }
+
+        /// <summary>
+        /// 出国任务审批部门名称
+        /// </summary>
+        public string CGRWSPBMMC { get; set; }
+        /// <summary>
+        /// 出国任务审批文号
+        /// </summary>
+        public string CGRWSPWH { get; set; }
+        /// <summary>
+        /// 政治审查部门名称
+        /// </summary>
+        public string ZZSCBMMC { get; set; }
+        /// <summary>
+        /// 政治审查部门审批文号
+        /// </summary>
+        public string ZZSCSPWH { get; set; }
+
+        /// <summary>
+        /// 备注
+        /// </summary>
+        public string Remark { get; set; }
+
+        /// <summary>
+        /// 手机号
+        /// </summary>
+        public string TellPhone { get; set; }
+    }
+
+    // <summary>
+    /// 接团信息列表
+    /// 返回视图
+    /// </summary>
+    public class DelegationListView :DtoBase
+    {
+        /// <summary>
+        /// 主键Id
+        /// </summary>
+        public int Id { get; set; }
+
+        /// <summary>
+        /// 销售报价号
+        /// </summary>
+        public string SalesQuoteNo { get; set; }
+
+        /// <summary>
+        /// 接团操作人
+        /// </summary>
+        public string JietuanOperator { get; set; }
+
+        /// <summary>
+        /// 团组等级 
+        /// </summary>
+        public int TeamLevSId { get; set; }
+
+        /// <summary>
+        /// 团组类型
+        /// </summary>
+        public int TeamDid { get; set; }
+
+        /// <summary>
+        /// 团组名称
+        /// </summary>
+        public string TeamName { get; set; }
+
+        /// <summary>
+        /// 客户名称
+        /// </summary>
+        public string ClientName { get; set; }
+
+        /// <summary>
+        /// 客户所属公司
+        /// </summary>
+        public string ClientUnit { get; set; }
+
+        /// <summary>
+        /// 出团日期
+        /// </summary>
+        public DateTime VisitDate { get; set; }
+
+        /// <summary>
+        /// 出行天数
+        /// </summary>
+        public int VisitDays { get; set; }
+
+        /// <summary>
+        /// 出行人数
+        /// </summary>
+        public int VisitPNumber { get; set; }
+
+
+        /// <summary>
+        /// 是否操作完成 
+        /// 0否1是
+        /// </summary>
+        public int IsSure { get; set; }
+    }
+
+
+    /// <summary>
+    /// 团组编号
+    /// </summary>
+    public class TeamCodeView 
+    {
+        public string TourCode { get; set; }
+    }
+
+    /// <summary>
+    /// 销售编号
+    /// </summary>
+    public class SalesQuoteNoView
+    {
+        public string SalesQuoteNo { get; set; }
+    }
+}

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

@@ -11,4 +11,60 @@ namespace OASystem.Domain.ViewModels.System
     {
     }
 
+    /// <summary>
+    /// 可于都消息返回视图
+    /// </summary>
+    public class ReadbleMessageView
+    {
+        /// <summary>
+        /// 消息类型
+        /// 1 系统消息
+        /// 2 团组消息
+        /// 3 个人消息
+        /// </summary>
+        public int Type { get; set; }
+
+        /// <summary>
+        /// 消息标题
+        /// </summary>
+        public string Title { get; set; }
+
+        /// <summary>
+        /// 消息内容
+        /// </summary>
+        public string Content { get; set; }
+
+        /// <summary>
+        /// 发布部门
+        /// </summary>
+        public string IssuerDep { get; set; }
+
+        /// <summary>
+        /// 发布者
+        /// </summary>
+        public string IssuerUser { get; set; }
+
+        /// <summary>
+        /// 发布时间
+        /// </summary>
+        public DateTime ReleaseTime { get; set; }
+
+        /// <summary>
+        /// 可阅读员工Id
+        /// </summary>
+        public int ReadableUId { get; set; }
+
+        /// <summary>
+        /// 是否阅读
+        /// 0 未阅读
+        /// 1 已阅读
+        /// </summary>
+        public int IsRead { get; set; }
+
+        /// <summary>
+        /// 阅读时间
+        /// </summary>
+        public DateTime? ReadTime { get; set; }
+    }
+
 }

+ 11 - 0
OASystem/OASystem.Domain/ViewModels/System/SetDataView.cs

@@ -17,6 +17,17 @@ namespace OASystem.Domain.ViewModels.System
         /// setdatatype id
         /// </summary>
         public int STid { get; set; }
+    }
 
+    /// <summary>
+    /// 数据data
+    /// </summary>
+    public class SetDataInfoView
+    {
+        public int Id { get; set; }
+        /// <summary>
+        /// 分类名称
+        /// </summary>
+        public string Name { get; set; }
     }
 }

+ 63 - 45
OASystem/OASystem.Domain/ViewModels/System/UserInfoView.cs

@@ -121,51 +121,69 @@ namespace OASystem.Domain.ViewModels.System
         /// </summary>
         public int DepId { get; set; }
 
+    }
+    /// <summary>
+    /// 用户信息 - 个人基本信息
+    /// </summary>
+    public class UserBasicInfoView
+    {
+        /// <summary>
+        /// 用户Id
+        /// </summary>
+        public string Id { get; set; }
+
         /// <summary>
-        /// 用户信息 - 个人基本信息
-        /// </summary>
-        public class UserBasicInfoView
-        {
-            /// <summary>
-            /// 用户Id
-            /// </summary>
-            public string Id { get; set; }
-
-            /// <summary>
-            /// 岗位Id
-            /// </summary>
-            public int JobPostId { get; set; }
-            /// <summary>
-            /// 性别
-            /// 0 男1 女  2 未设置
-            /// </summary>
-
-            public int Sex { get; set; }
-
-            /// <summary>
-            /// 工号
-            /// </summary>
-            public string Number { get; set; }
-
-            /// <summary>
-            /// 公司名称
-            /// </summary>
-            public string CompanyName { get; set; }
-
-            /// <summary>
-            /// 部门名称
-            /// </summary>
-            public string DepName { get; set; }
-
-            /// <summary>
-            /// 岗位名称
-            /// </summary>
-            public string JobName { get; set; }
-
-            /// <summary>
-            /// 邮箱
-            /// </summary>
-            public string Email { get; set; }
-        }
+        /// 岗位Id
+        /// </summary>
+        public int JobPostId { get; set; }
+        /// <summary>
+        /// 性别
+        /// 0 男1 女  2 未设置
+        /// </summary>
+
+        public int Sex { get; set; }
+
+        /// <summary>
+        /// 工号
+        /// </summary>
+        public string Number { get; set; }
+
+        /// <summary>
+        /// 公司名称
+        /// </summary>
+        public string CompanyName { get; set; }
+
+        /// <summary>
+        /// 部门名称
+        /// </summary>
+        public string DepName { get; set; }
+
+        /// <summary>
+        /// 岗位名称
+        /// </summary>
+        public string JobName { get; set; }
+
+        /// <summary>
+        /// 邮箱
+        /// </summary>
+        public string Email { get; set; }
+    }
+
+
+
+    /// <summary>
+    /// 查询用户名称
+    /// </summary>
+    public class UserNameView
+    {
+        /// <summary>
+        /// 用户Id
+        /// </summary>
+        public int Id { get; set; }
+
+        /// <summary>
+        /// 用户中文名称
+        /// </summary>
+        public string CnName { get; set; }
     }
 }

+ 272 - 0
OASystem/OASystem.Infrastructure/Repositories/Group/DelegationInfoRepository.cs

@@ -0,0 +1,272 @@
+using OASystem.Domain;
+using OASystem.Domain.Dtos;
+using OASystem.Domain.Dtos.Group;
+using OASystem.Domain.Dtos.UserDto;
+using OASystem.Domain.Entities.Groups;
+using OASystem.Domain.ViewModels.Group;
+using OASystem.Infrastructure.Repositories.System;
+using Org.BouncyCastle.Utilities.Collections;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Infrastructure.Repositories.Group
+{
+    /// <summary>
+    /// 接团信息
+    /// </summary>
+    public class DelegationInfoRepository : BaseRepository<Grp_DelegationInfo, DelegationInfoView>
+    {
+        private readonly SetDataRepository _setDataRepository;
+        private readonly UsersRepository _usersRepository;
+
+        public DelegationInfoRepository(SqlSugarClient sqlSugar, SetDataRepository setDataRepository, UsersRepository usersRepository) 
+            : base(sqlSugar) 
+        {
+            this._setDataRepository = setDataRepository;
+            this._usersRepository = usersRepository;
+        }
+
+        /// <summary>
+        /// 获取接团信息List
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        public async Task<Result> GetGroupList(GroupListDto dto)
+        {
+            Result result = new Result() { Code = -2,Msg="未知错误" };
+
+            if (dto.PortType == 1) //web
+            {
+                string sql = string.Format(@"Select gdi.Id,SalesQuoteNo,TourCode,ssd.Name TeamType,ssd1.Name TeamLev,TeamName,ClientName,
+                                                    ClientUnit,VisitDate,VisitDays,VisitPNumber,su.CnName JietuanOperator,IsSure
+                                             From  Grp_DelegationInfo gdi
+                                             Inner Join Sys_SetData ssd On gdi.TeamDid = ssd.Id 
+                                             Inner Join Sys_SetData ssd1 On gdi.TeamLevSId = ssd1.Id
+                                             Left Join Sys_Users su On gdi.JietuanOperator = su.Id
+                                             Where gdi.IsDel = 0 
+                                             Order By VisitDate Desc");
+                    
+                var _DelegationList = await _sqlSugar.SqlQueryable<DelegationListView>(sql).ToListAsync();
+                if (_DelegationList.Count > 0)
+                {
+                    result.Code = 0;
+                    result.Msg = "成功!";
+                    result.Data = _DelegationList;
+                }
+                else
+                {
+                    result.Msg = "暂无该团组信息";
+                }
+            }
+
+            
+            
+            return result;
+
+        }
+
+
+        /// <summary>
+        /// 获取接团信息Info
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        public async Task<Result> GetGroupInfo(GroupInfoDto dto)
+        {
+            Result result = new Result() { Code = -2, Msg = "未知错误" };
+
+            if (dto.PortType == 1) //web
+            {
+                string sql = string.Format(@"Select Id,SalesQuoteNo,JietuanOperator,TeamLevSId,TeamDid,TeamName,ClientName,
+	                                                ClientUnit,VisitCountry,VisitDate,VisitDays,VisitPNumber,TontractTime,
+	                                                PayDay,PaymentMoney,VisitPurpose,SpecialNeeds,OtherNeeds,CGRWSPBMMC,CGRWSPWH,
+	                                                ZZSCBMMC,ZZSCSPWH,Remark,TellPhone
+                                             From Grp_DelegationInfo Where Id = {0} And IsDel=0",dto.Id);
+
+                var _DelegationInfo = await _sqlSugar.SqlQueryable<DelegationInfoWebView>(sql).ToListAsync();
+                if (_DelegationInfo != null)
+                {
+                    result.Code = 0;
+                    result.Msg = "成功!";
+                    result.Data = _DelegationInfo;
+                }
+                else
+                {
+                    result.Msg = "暂无该团组信息";
+                }
+            }
+
+            return result;
+
+        }
+
+        /// <summary>
+        /// 获取接团信息 编辑 
+        /// 基础 数据源
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        public async Task<Result> GetGroupEditBasicSource(GroupListDto dto)
+        {
+            Result result = new Result() { Code = -2, Msg = "未知错误" };
+
+            if (dto.PortType == 1) //web
+            {
+                dynamic? teamTypeData1 = null;
+                string teamTypeSql = string.Format(@"Select Id,Name From  Sys_SetData Where STid = {0} And IsDel = {1}", 10, 0);
+                var teamTypeData = await _sqlSugar.SqlQueryable<SetDataInfoView>(teamTypeSql).ToListAsync(); ;  //团组分类 10
+                if (teamTypeData.Count > 0)
+                {
+                    teamTypeData1 = teamTypeData;
+                }
+
+                dynamic? teamLevData1 = null;
+                string teamLevSql = string.Format(@"Select Id,Name From  Sys_SetData Where STid = {0} And IsDel = {1}", 56, 0);
+                var teamLevData = await _sqlSugar.SqlQueryable<SetDataInfoView>(teamLevSql).ToListAsync(); ;  //团组等级 56
+                if (teamLevData.Count > 0)
+                {
+                    teamLevData1 = teamLevData;
+                }
+
+                dynamic? userData1 = null;
+                string userSql = string.Format(@"Select Id,CnName From  Sys_Users Where IsDel = {0}", 0);
+                var userData = await _sqlSugar.SqlQueryable<UserNameView>(userSql).ToListAsync(); ;
+                if (userData.Count > 0)
+                {
+                    userData1 = userData;
+                }
+
+                result.Code = 0;
+                result.Msg = "成功!";
+                result.Data = new {
+                    teamTypeData = teamTypeData1,
+                    teamLevData = teamLevData1,
+                    userData = userData1
+                };
+            }
+
+            return result;
+        }
+
+        /// <summary>
+        /// 团组信息操作
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        public async Task<Result> GroupOperation(GroupOperationDto dto)
+        {
+            Result result = new Result() { Code = -2, Msg = "未知错误" };
+
+            if (dto.PortType == 1) //web
+            {
+                Grp_DelegationInfo groupInfo = new Grp_DelegationInfo()
+                {
+                    SalesQuoteNo = dto.SalesQuoteNo,
+                    TeamLevSId = dto.TeamLevSId,
+                    ClientName = dto.ClientName,
+                    ClientUnit = dto.ClientUnit,
+                    TeamName = dto.TeamName,
+                    TeamDid = dto.TeamDid,
+                    VisitDate = dto.VisitDate,
+                    VisitCountry = dto.VisitCountry,
+                    VisitPurpose = dto.VisitPurpose,
+                    VisitDays = dto.VisitDays,
+                    VisitPNumber = dto.VisitPNumber,
+                    SpecialNeeds = dto.SpecialNeeds,
+                    OtherNeeds = dto.OtherNeeds,
+                    Remark = dto.Remark,
+                    JietuanOperator = dto.UserId,
+                    TellPhone = dto.TellPhone,
+                    CGRWSPBMMC = dto.CGRWSPBMMC,
+                    CGRWSPWH = dto.CGRWSPWH,
+                    ZZSCBMMC = dto.ZZSCBMMC,
+                    ZZSCSPWH = dto.ZZSCSPWH,
+                    TontractTime = dto.TontractTime,
+                    PaymentMoney = dto.PaymentMoney,
+                    PayDay = dto.PayDay
+                };
+
+
+                if (dto.Status == 1) //添加
+                {
+                    string selectSql = string.Format(@"Select * From Grp_DelegationInfo 
+                                                   Where IsDel = 0 
+                                                   And SalesQuoteNo = '{0}'
+                                                   And TeamName = '{1}'
+                                                   And ClientName = '{2}'
+                                                   And ClientUnit ='{3}'
+                                                   And VisitDate ='{4}'",dto.SalesQuoteNo,dto.TeamName,dto.ClientName,dto.ClientUnit,dto.VisitDate);
+                    var selectGroupInfo = await _sqlSugar.SqlQueryable<Grp_DelegationInfo>(selectSql).FirstAsync();
+                    if (selectGroupInfo != null)
+                    {
+                        result.Msg = "数据已存在,请勿重复添加!";
+                        return result;
+                    }
+
+                    string teamCodeSql = string.Format("Select TourCode From Grp_DelegationInfo");
+                   var teamCodeItem = await _sqlSugar.SqlQueryable<TeamCodeView>(teamCodeSql).FirstAsync();
+
+                    string teamCode = "";
+                    while (true)
+                    {
+                        teamCode = Tools.CommonFun.GetRandomAllStr(6);
+                        
+                        if (!teamCodeItem.Equals(teamCode))
+                        {
+                            break;
+                        }
+                    }
+
+                    groupInfo.TourCode = teamCode;
+                    groupInfo.SalesDate = DateTime.Now;
+                    groupInfo.IsState = 0; //默认团组未完成 0
+                    groupInfo.JietuanTime = DateTime.Now;
+                    groupInfo.IsDel = 0;
+                    groupInfo.BudgetCost = 0.00M;
+                    groupInfo.HotelComplain = 0;
+                    groupInfo.OPComplain = 0;
+                    groupInfo.OAComplain = 0;
+                    groupInfo.AirComplain = 0;
+                    groupInfo.VisaComplain = 0;
+                    groupInfo.CreateUserId = dto.UserId;
+                    groupInfo.CreateTime = DateTime.Now;
+                    groupInfo.DeleteUserId = null;
+                    groupInfo.DeleteTime = new DateTime(1990, 1, 1).ToString("yyyy-MM-dd HH:mm:ss");
+
+                    var addId = await _sqlSugar.Insertable(groupInfo).ExecuteReturnIdentityAsync();
+                    if (addId > 0)
+                    {
+                        result.Code = 0;
+                        result.Msg = "添加成功!";
+                    }
+                    else
+                    {
+                        result.Msg = "添加失败!";
+                    }
+
+
+                }
+                else if (dto.Status == 2)  //修改
+                {
+                    var updateStatus = await UpdateAsync(a => a.Id == dto.Id,a=> groupInfo);
+
+                    if (updateStatus)
+                    {
+                        result.Code = 0;
+                        result.Msg = "修改成功!";
+                    }
+                    else
+                    {
+                        result.Msg = "修改失败!";
+                    }
+                }
+            }
+            
+            return result;
+        }
+    }
+}

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

@@ -67,8 +67,6 @@ namespace OASystem.Infrastructure.Repositories.Login
                                                   Inner Join Sys_JobPost sjp On su.JobPostId = sjp.Id {0}", sqlWhere);
             var _userBasicInfo = await _sqlSugar.SqlQueryable<UserLoginInfoView>(userSqlWhere).FirstAsync();
 
-
-
             result.Code = 0;
             result.Msg = "登录成功!";
             result.Data = _userBasicInfo;

+ 35 - 1
OASystem/OASystem.Infrastructure/Repositories/System/MessageRepository.cs

@@ -1,4 +1,5 @@
-using OASystem.Domain.Dtos.System;
+using OASystem.Domain;
+using OASystem.Domain.Dtos.System;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -84,5 +85,38 @@ namespace OASystem.Infrastructure.Repositories.System
             return true;
         }
 
+        /// <summary>
+        /// 获取消息 List
+        /// </summary>
+        /// <param name="uId">可读用户Id</param>
+        /// <returns></returns>
+        public async Task<Result> GetMsgList(int uId)
+        {
+            Result result = new Result() { Code = -1, Msg = "未知错误", Data = null };
+
+            string msgSqlWhere = string.Format(@"Select sm.Type,sm.Title,sm.Content,sd.DepName issuerDep,su.CnName issuerUser, 
+                                                        sm.ReleaseTime,smra.Id AuthId,smra.ReadableUId,smra.IsRead,smra.ReadTime 
+                                                 From Sys_Message sm 
+                                                 Inner Join Sys_MessageReadAuth smra On sm.Id = smra.MsgId
+                                                 Inner Join Sys_Users su On sm.IssuerId = su.Id
+                                                 Inner Join Sys_Department sd On su.DepId = sd.Id
+                                                 Inner Join Sys_Users suAuth On smra.ReadableUId = suAuth.Id
+                                                 Where sm.IsDel = 0
+                                                 And smra.IsDel = 0 
+                                                 And smra.ReadableUId = {0}", uId);
+            var _readableMsgList = await _sqlSugar.SqlQueryable<ReadbleMessageView>(msgSqlWhere).ToListAsync();
+            if (_readableMsgList.Count > 0)
+            {
+                result.Code = 0;
+                result.Msg = "成功!";
+                result.Data = _readableMsgList;
+            }
+            else
+            {
+                result.Msg = "暂无该用户消息";
+            }
+
+            return result;
+        }
     }
 }

+ 27 - 0
OASystem/OASystem.Infrastructure/Repositories/System/SetDataRepository.cs

@@ -42,6 +42,33 @@ namespace OASystem.Infrastructure.Repositories.System
             return result;
         }
 
+        /// <summary>
+        /// 获取类型Data By STId
+        /// </summary>
+        /// <param name="_SetData"></param>
+        /// <returns></returns>
+        public async Task<Result> GetSetDataBySTId(SetDataRepository _SetData,int stId)
+        {
+            Result result = new Result();
+            string sql = string.Format(@"select * from Sys_SetData where STid = {0} and isdel = 0",stId);
+            var DBdata = await _SetData.GetListBySqlWithNolockAsync(sql);
+
+            if (DBdata == null || DBdata.Count == 0)
+            {
+                return result;
+            }
+
+            result.Data = DBdata.Select(x => new SetDataInfoView
+            {
+                Name = x.Name,
+                Id = x.Id,
+            });
+
+            result.Code = 0;
+            result.Msg = "成功!";
+
+            return result;
+        }
 
     }
 }

+ 40 - 0
OASystem/OASystem.Infrastructure/Repositories/System/UsersRepository.cs

@@ -102,5 +102,45 @@ namespace OASystem.Infrastructure.Repositories.System
             
             return result;
         }
+
+        /// <summary>
+        /// 用户查询列表
+        /// </summary>
+        /// <param name="_userRep"></param>
+        /// <returns></returns>
+        public async Task<Result> GetUserNameList(int portType)
+        {
+            Result result = new Result() { Code = -2 };
+
+            if (portType == 1) //web
+            {
+                string sql = string.Format(@"Select Id,CnName From  Sys_Users");
+                var _userList = await _sqlSugar.SqlQueryable<UserNameView>(sql).ToListAsync();
+
+                if (_userList.Count != 0)
+                {
+                    result.Code = 0;
+                    result.Msg = "成功!";
+                    result.Data = _userList;
+                }
+                else
+                {
+                    result.Msg = "暂无数据!";
+                }
+            }
+            else if (portType == 2) //Android
+            {
+              
+            }
+            else if (portType == 3) //IOS
+            {
+            }
+            else
+            {
+                result.Msg = "暂无数据!";
+            }
+
+            return result;
+        }
     }
 }

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

@@ -158,4 +158,42 @@ public static class CommonFun
         return ip;
     }
     #endregion
+
+    #region 随机数
+
+    /// <summary>
+    /// 根据自定义随机包含的字符获取指定长度的随机字符
+    /// </summary>
+    /// <param name="length">随机字符长度</param>
+    /// <returns>随机字符</returns>
+    public static string GetRandomStr(int length)
+    {
+        string a = "ABCDEFGHJKLMNPQRSTUVWXYZ012356789";
+        StringBuilder sb = new StringBuilder();
+        for (int i = 0; i < length; i++)
+        {
+            sb.Append(a[new Random(Guid.NewGuid().GetHashCode()).Next(0, a.Length - 1)]);
+        }
+
+        return sb.ToString();
+    }
+
+    /// <summary>
+    /// 根据自定义随机包含的字符获取指定长度的随机字符
+    /// </summary>
+    /// <param name="length">随机字符长度</param>
+    /// <returns>随机字符</returns>
+    public static string GetRandomAllStr(int length)
+    {
+        string a = "ABCDEFGHJKLMNPQRSTUVWXYZabcdefghjklmnpqrstuvwxyz012356789";
+        StringBuilder sb = new StringBuilder();
+        for (int i = 0; i < length; i++)
+        {
+            sb.Append(a[new Random(Guid.NewGuid().GetHashCode()).Next(0, a.Length - 1)]);
+        }
+
+        return sb.ToString();
+    }
+
+    #endregion
 }