Преглед на файлове

新增商邀资料增删改查

wangh преди 1 година
родител
ревизия
75712ab334

+ 99 - 7
OASystem/OASystem.Api/Controllers/ResourceController.cs

@@ -1,5 +1,6 @@
 using OASystem.API.OAMethodLib;
 using OASystem.Domain.Dtos.Resource;
+using OASystem.Domain.Entities.Groups;
 using OASystem.Infrastructure.Repositories.Groups;
 using System.Collections.Generic;
 
@@ -23,11 +24,12 @@ namespace OASystem.API.Controllers
         private readonly CountryFeeRepository _countryFeeRep;
         private readonly SetDataTypeRepository _setDataTypeRep;
         private readonly AirTicketAgentRepository _airTicketAgentRep;
+        private readonly InvitationOfficialActivityDataRepository _InvitationOfficialActivityDataRep;
 
         public ResourceController(IMapper mapper, IConfiguration config, CarDataRepository carDataRep,
             LocalGuideDataRepository localGuideDataRep, ThreeCodeRepository threeCodeRep,
             HotelDataRepository hotelDataRep, ResItemInfoRepository resItemInfoRep, SetDataRepository setDataRepository,
-            CountryFeeRepository countryFeeRep, SetDataTypeRepository setDataTypeRep, AirTicketAgentRepository airTicketAgentRep)
+            CountryFeeRepository countryFeeRep, SetDataTypeRepository setDataTypeRep, AirTicketAgentRepository airTicketAgentRep, InvitationOfficialActivityDataRepository invitationOfficialActivityDataRep)
         {
             _mapper = mapper;
             _config = config;
@@ -40,6 +42,7 @@ namespace OASystem.API.Controllers
             _countryFeeRep = countryFeeRep;
             _setDataTypeRep = setDataTypeRep;
             _airTicketAgentRep = airTicketAgentRep;
+            _InvitationOfficialActivityDataRep = invitationOfficialActivityDataRep;
         }
 
 
@@ -542,15 +545,15 @@ namespace OASystem.API.Controllers
                                 break;
                             }
                         }
-                        return Ok(JsonView(true, "查询成功!",new { pageCount = count, totalPage = (int)totalPage, pageIndex = dto.PageIndex, pageSize = dto.PageSize, pageSource = _AirTicketAgent }));
-                       
+                        return Ok(JsonView(true, "查询成功!", new { pageCount = count, totalPage = (int)totalPage, pageIndex = dto.PageIndex, pageSize = dto.PageSize, pageSource = _AirTicketAgent }));
+
                     }
                 }
                 else
                 {
                     return Ok(JsonView(false, "暂无数据!"));
                 }
-                
+
             }
             catch (Exception ex)
             {
@@ -558,6 +561,7 @@ namespace OASystem.API.Controllers
                 throw;
             }
         }
+
         /// <summary>
         /// 代理出票合作方资料操作(Status:1.新增,2.修改)
         /// </summary>
@@ -569,7 +573,7 @@ namespace OASystem.API.Controllers
         {
             try
             {
-                
+
                 if (dto.Account == "")
                 {
                     return Ok(JsonView(false, "请检查代理商账户是否填写!"));
@@ -1348,8 +1352,96 @@ Inner Join Sys_Department as d With(Nolock) On u.DepId=d.Id Where m.Id={0} ", _m
 
         #endregion
 
-       
-    }
+        #region 商邀资料
+        /// <summary>
+        /// 商邀资料查询
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> QueryInvitationOfficialActivityData(QueryInvitationOfficialActivityDataDto dto)
+        {
+            try
+            {
+                Result groupData = await _InvitationOfficialActivityDataRep.QueryInvitationOfficialActivityData(dto);
+                if (groupData.Code != 0)
+                {
+                    return Ok(JsonView(false, groupData.Msg));
+                }
+                return Ok(JsonView(true, groupData.Msg, groupData.Data));
+            }
+            catch (Exception ex)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+        }
 
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> QueryInvitationOfficialActivityById(QueryInvitationOfficialActivityByIdDto dto)
+        {
+            try
+            {
+                Result groupData = await _InvitationOfficialActivityDataRep.QueryInvitationOfficialActivityById(dto);
+                if (groupData.Code != 0)
+                {
+                    return Ok(JsonView(false, groupData.Msg));
+                }
+                return Ok(JsonView(true, groupData.Msg, groupData.Data));
+            }
+            catch (Exception ex)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+        }
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> OpInvitationOfficialActivity(OpInvitationOfficialActivityDto dto)
+        {
+            try
+            {
+                Result groupData = await _InvitationOfficialActivityDataRep.OpInvitationOfficialActivity(dto);
+                if (groupData.Code != 0)
+                {
+                    return Ok(JsonView(false, groupData.Msg));
+                }
+                return Ok(JsonView(true, groupData.Msg, groupData.Data));
+            }
+            catch (Exception ex)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+        }
+        /// <summary>
+        /// 删除商邀资料信息
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> DelInvitationOfficialActivity(DelBaseDto dto)
+        {
+            try
+            {
+                var res = await _InvitationOfficialActivityDataRep.SoftDeleteByIdAsync<Res_InvitationOfficialActivityData>(dto.Id.ToString(), dto.DeleteUserId);
+                if (!res)
+                {
+                    return Ok(JsonView(false, "删除失败"));
+                }
+                return Ok(JsonView(true, "删除成功!"));
+            }
+            catch (Exception ex)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+        }
+    }
+    #endregion
 
 }
+

+ 3 - 0
OASystem/OASystem.Domain/AutoMappers/_baseMappingProfile.cs

@@ -138,6 +138,9 @@ namespace OASystem.Domain.AutoMappers
 
             CreateMap<Edit_ResItemInfoDto, Res_ItemDetailInfo>();
             #endregion
+            #region 商邀资料
+            CreateMap<OpInvitationOfficialActivityDto, Res_InvitationOfficialActivityData>();
+            #endregion
             #endregion
 
             #region Crm

+ 142 - 0
OASystem/OASystem.Domain/Dtos/Resource/InvitationOfficialActivityDataDto.cs

@@ -0,0 +1,142 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Dtos.Resource
+{
+    public class QueryInvitationOfficialActivityDataDto:DtoBase
+    {
+        /// <summary>
+        /// 邀请方国家
+        /// </summary>
+        public string Country { get; set; }
+        /// <summary>
+        /// 邀请方名称
+        /// </summary>
+        public string UnitName { get; set; }
+        /// <summary>
+        /// 联系人
+        /// </summary>
+        public string Contact { get; set; }
+        /// <summary>
+        /// 团名
+        /// </summary>
+        public string Delegation { get; set; }
+        /// <summary>
+        /// 涉及领域
+        /// </summary>
+        public string Field { get; set; }
+        /// <summary>
+        /// 创建者Id
+        /// </summary>
+        public int CreateUserId { get; set; }
+        /// <summary>
+        /// 创建时间(开始)
+        /// </summary>
+        public string StartCreateTime { get; set; }
+        /// <summary>
+        /// 创建时间(结束)
+        /// </summary>
+        public string EndCreateTime { get; set; }
+    }
+    public class QueryInvitationOfficialActivityByIdDto
+    {
+        public int Id { get; set; } 
+    }
+    public class OpInvitationOfficialActivityDto
+    {
+        /// <summary>
+        /// 操作状态
+        /// 1 添加 
+        /// 2 修改 
+        /// </summary>
+        public int Status { get; set; }
+        /// <summary>
+        /// 编号
+        /// </summary>
+        public int Id { get; set; }
+        /// <summary>
+        /// 邀请方国家
+        /// </summary>
+        public string Country { get; set; }
+        /// <summary>
+        /// 城市
+        /// </summary>
+        public string City { get; set; }
+        /// <summary>
+        /// 邀请方名称
+        /// </summary>
+        public string UnitName { get; set; }
+        /// <summary>
+        ///邀请方官网
+        /// </summary>
+        public string UnitWeb { get; set; }
+        /// <summary>
+        /// 涉及领域
+        /// </summary>
+        public string Field { get; set; }
+        /// <summary>
+        /// 邀请方地址
+        /// </summary>
+        public string Address { get; set; }
+        /// <summary>
+        /// 邀请方信息
+        /// </summary>
+        public string UnitInfo { get; set; }
+        /// <summary>
+        /// 联系人
+        /// </summary>
+        public string Contact { get; set; }
+        /// <summary>
+        /// 职务
+        /// </summary>
+        public string Job { get; set; }
+        /// <summary>
+        /// 联系电话
+        /// </summary>
+        public string Tel { get; set; }
+        /// <summary>
+        /// 电子邮箱
+        /// </summary>
+        public string Email { get; set; }
+        /// <summary>
+        /// 微信
+        /// </summary>
+        public string WeChat { get; set; }
+        /// <summary>
+        /// fb
+        /// </summary>
+        public string FaceBook { get; set; }
+        /// <summary>
+        /// ins
+        /// </summary>
+        public string Ins { get; set; }
+        /// <summary>
+        /// 团名
+        /// </summary>
+        public string Delegation { get; set; }
+        /// <summary>
+        /// 文件地址
+        /// </summary>
+        public string FilePath { get; set; }
+        /// <summary>
+        /// 修改版文件地址
+        /// </summary>
+        public string SndFilePath { get; set; }
+        /// <summary>
+        /// 传真号码
+        /// </summary>
+        public string Fax { get; set; }
+        /// <summary>
+        /// 创建者Id
+        /// </summary>
+        public int CreateUserId { get; set; }
+        /// <summary>
+        /// 备注
+        /// </summary>
+        public string Remark { get; set; }
+       
+    }
+}

+ 16 - 0
OASystem/OASystem.Domain/ViewModels/Resource/InvitationOfficialActivityDataView.cs

@@ -0,0 +1,16 @@
+using OASystem.Domain.Entities;
+using OASystem.Domain.Entities.Resource;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.ViewModels.Resource
+{
+    public class InvitationOfficialActivityDataView: Res_InvitationOfficialActivityData
+    {
+        public string CreateUserName { get; set; }
+        public string DelegationStr { get;set; }
+    }
+}

+ 3 - 6
OASystem/OASystem.Infrastructure/Repositories/Groups/InvitationOfficialActivitiesRepository.cs

@@ -129,14 +129,12 @@ namespace OASystem.Infrastructure.Repositories.Groups
                             Res_InvitationOfficialActivityData res_InvitationData = _mapper.Map<Res_InvitationOfficialActivityData>(dto);
                             res_InvitationData.Country = dto.InviterArea;
                             res_InvitationData.UnitName = dto.Inviter;
+                            res_InvitationData.Delegation = dto.DiId.ToString();
                             Res_InvitationOfficialActivityData ifNullUp = await _sqlSugar.Queryable<Res_InvitationOfficialActivityData>().FirstAsync
                                 (a => a.Country == res_InvitationData.Country && a.City == res_InvitationData.City && a.UnitName == res_InvitationData.UnitName);
                             if (ifNullUp == null)///添加或修改商邀资料
                             {
                                 res_InvitationData.Remark = dto.OtherInformation;
-                                Grp_DelegationInfo delegationInfo = await _sqlSugar.Queryable<Grp_DelegationInfo>().FirstAsync(a => a.Id == dto.DiId && a.IsDel == 0);
-                                res_InvitationData.Delegation = delegationInfo.TeamName;
-
                                 int DataID = await _sqlSugar.Insertable(res_InvitationData).ExecuteReturnIdentityAsync();
                                 if (DataID != 0)
                                 {
@@ -271,9 +269,8 @@ namespace OASystem.Infrastructure.Repositories.Groups
                         if (ifNullUp == null)///添加或修改商邀资料
                         {
                             res_InvitationData.Remark =dto.OtherInformation;
-                            Grp_DelegationInfo delegationInfo = await _sqlSugar.Queryable<Grp_DelegationInfo>().FirstAsync(a => a.Id == dto.DiId && a.IsDel == 0);
-                            res_InvitationData.Delegation = delegationInfo.TeamName;
-                            
+                            res_InvitationData.Delegation = dto.DiId.ToString();
+
                             int DataID = await _sqlSugar.Insertable(res_InvitationData).ExecuteReturnIdentityAsync();
                             if (DataID != 0)
                             {

+ 213 - 0
OASystem/OASystem.Infrastructure/Repositories/Resource/InvitationOfficialActivityDataRepository.cs

@@ -0,0 +1,213 @@
+using AutoMapper;
+using OASystem.Domain;
+using OASystem.Domain.Dtos.Groups;
+using OASystem.Domain.Dtos.Resource;
+using OASystem.Domain.Entities.Groups;
+using OASystem.Domain.Entities.Resource;
+using OASystem.Domain.ViewModels;
+using OASystem.Domain.ViewModels.Groups;
+using OASystem.Domain.ViewModels.Resource;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Security.Cryptography;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Infrastructure.Repositories.Resource
+{
+    public class InvitationOfficialActivityDataRepository : BaseRepository<Res_InvitationOfficialActivityData, InvitationOfficialActivitiesByIdDto>
+    {
+        private readonly IMapper _mapper;
+        public InvitationOfficialActivityDataRepository(SqlSugarClient sqlSugar, IMapper mapper) : base(sqlSugar)
+        {
+            _mapper = mapper;
+        }
+
+       
+
+        /// <summary>
+        /// 查询商邀资料列表
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        public async Task<Result> QueryInvitationOfficialActivityData(QueryInvitationOfficialActivityDataDto dto)
+        {
+            Result result = new Result() { Code = -2, Msg = "未知错误" };
+            try
+            {
+                string sqlWhere = string.Empty;
+                if (!string.IsNullOrWhiteSpace(dto.Country)) { sqlWhere += string.Format(@" And i.Country like '%{0}%'", dto.Country); }
+                if (!string.IsNullOrWhiteSpace(dto.UnitName)) { sqlWhere += string.Format(@" And i.UnitName like '%{0}%'", dto.UnitName); }
+                if (!string.IsNullOrWhiteSpace(dto.Contact)) { sqlWhere += string.Format(@" And i.Contact like '%{0}%'", dto.Contact); }
+                if (!string.IsNullOrWhiteSpace(dto.Delegation)) { sqlWhere += string.Format(@" And ','+i.Delegation+',' like '%,{0},%'", dto.Delegation); }
+                if (!string.IsNullOrWhiteSpace(dto.Field)) { sqlWhere += string.Format(@" And i.Field like '%{0}%'", dto.Field); }
+                
+                if (dto.CreateUserId != 0 && !string.IsNullOrWhiteSpace(dto.CreateUserId.ToString())) { sqlWhere += string.Format(@" And i.CreateUserId={0}", dto.CreateUserId); }
+                if (!string.IsNullOrWhiteSpace(dto.StartCreateTime) && !string.IsNullOrWhiteSpace(dto.EndCreateTime))
+                {
+                    sqlWhere += string.Format(@" And i.CreateTime between '{0}' and '{1}'", dto.StartCreateTime, dto.EndCreateTime);
+                }
+                sqlWhere += string.Format(@"And Isdel={0}", 0);
+
+                if (!string.IsNullOrEmpty(sqlWhere.Trim()))
+                {
+                    Regex r = new Regex("And");
+                    sqlWhere = r.Replace(sqlWhere, "Where", 1);
+                }
+                string sql = string.Format(@"select i.*,(select CnName from Sys_Users where Id=i.CreateUserId ) as CreateUserName from 
+                                            Res_InvitationOfficialActivityData i {0} order by CreateTime desc", sqlWhere);
+                List<InvitationOfficialActivityDataView> _ivitiesViews = await _sqlSugar.SqlQueryable<InvitationOfficialActivityDataView>(sql).ToListAsync();
+                if (_ivitiesViews.Count != 0)
+                {
+                    foreach (var item in _ivitiesViews)
+                    {
+                        string delegationNameList = "";
+                        string[] DelegationName = item.Delegation.Split(',');
+                        for (int i = 0; i < DelegationName.Length; i++)
+                        {
+                            Grp_DelegationInfo _DelegationInfo = await _sqlSugar.Queryable<Grp_DelegationInfo>().FirstAsync(a => a.Id ==int.Parse(DelegationName[i]));
+                            if (_DelegationInfo != null) { delegationNameList += _DelegationInfo.TeamName + ","; }
+                        }
+                        item.DelegationStr = delegationNameList.Substring(0,delegationNameList.Length-1);
+                    }
+                    if (dto.PageSize == 0 && dto.PageIndex == 0)
+                    {
+                        result = new Result() { Code = 0, Msg = "查询成功!", Data = _ivitiesViews };
+                    }
+                    else
+                    {
+                        int count = _ivitiesViews.Count;
+                        float totalPage = (float)count / dto.PageSize;//总页数
+                        if (totalPage == 0) totalPage = 1;
+                        else totalPage = (int)Math.Ceiling((double)totalPage);
+
+                        List<InvitationOfficialActivityDataView> invitations = new List<InvitationOfficialActivityDataView>();
+                        for (int i = 0; i < dto.PageSize; i++)
+                        {
+                            var RowIndex = i + (dto.PageIndex - 1) * dto.PageSize;
+                            if (RowIndex < _ivitiesViews.Count)
+                            {
+                                invitations.Add(_ivitiesViews[RowIndex]);
+                            }
+                            else
+                            {
+                                break;
+                            }
+                        }
+                        ListViewBase<InvitationOfficialActivityDataView> rst = new ListViewBase<InvitationOfficialActivityDataView>();
+                        rst.DataList = invitations; 
+                        rst.DataCount = count;
+                        rst.CurrPageIndex = dto.PageIndex;
+                        rst.CurrPageSize = dto.PageSize;
+                        result = new Result() { Code = 0, Msg = "查询成功!", Data = rst };
+                    }
+                    
+                }
+                else
+                {
+                    result = new Result() { Code = -1, Msg = "暂无数据!", Data = _ivitiesViews };
+                }
+            }
+            catch (Exception ex)
+            {
+                result = new Result() { Code = -2, Msg = "未知错误" };
+            }
+            return result;
+        }
+        /// <summary>
+        /// 根据Id查询商邀资料信息
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        /// <exception cref="NotImplementedException"></exception>
+        public async Task<Result> QueryInvitationOfficialActivityById(QueryInvitationOfficialActivityByIdDto dto)
+        {
+            Result result = new Result() { Code = -2, Msg = "未知错误" };
+            try
+            {
+                Res_InvitationOfficialActivityData res_Invitation = await _sqlSugar.Queryable<Res_InvitationOfficialActivityData>().FirstAsync(a => a.Id == dto.Id && a.IsDel == 0);
+                if (res_Invitation!=null) {
+                    result = new Result() { Code = 0, Msg = "查询成功!", Data = res_Invitation };
+                }
+                else
+                {
+                    result = new Result() { Code = -1, Msg = "暂无数据!", Data = res_Invitation };
+                }
+            }
+            catch (Exception ex)
+            {
+                result = new Result() { Code = -2, Msg = "未知错误" };
+            }
+            return result;
+        }
+
+        public async Task<Result> OpInvitationOfficialActivity(OpInvitationOfficialActivityDto dto)
+        {
+            Result result = new Result() { Code = -2, Msg = "未知错误" };
+            try
+            {
+                if (dto.Status == 1)//添加
+                {
+                    string selectSql = string.Format(@"select * from Res_InvitationOfficialActivityData where UnitName='{0}' and IsDel='{1}'", dto.UnitName, 0);
+                    var res_InvitationOfficial = await _sqlSugar.SqlQueryable<Res_InvitationOfficialActivityData>(selectSql).FirstAsync();//查询是否存在
+                    if (res_InvitationOfficial != null)
+                    {
+                        return result = new Result() { Code = -1, Msg = "该信息已存在,请勿重复添加!" };
+
+                    }
+                    else//不存在,可添加
+                    {
+                        Res_InvitationOfficialActivityData _InvitationOfficialActivityData = _mapper.Map<Res_InvitationOfficialActivityData>(dto);
+                        int id = await _sqlSugar.Insertable(_InvitationOfficialActivityData).ExecuteReturnIdentityAsync();
+                        if (id == 0)
+                        {
+                            return result = new Result() { Code = -1, Msg = "添加失败!" };
+
+                        }
+                        return result = new Result() { Code = 0, Msg = "添加成功!", Data = new { Id = id } };
+                    }
+                }
+                else if (dto.Status == 2)//修改
+                {
+                    bool res = await UpdateAsync(a => a.Id == dto.Id, a => new Res_InvitationOfficialActivityData
+                    {
+                        Country = dto.Country,
+                        City = dto.City,
+                        UnitName = dto.UnitName,
+                        UnitWeb = dto.UnitWeb,
+                        Field = dto.Field,
+                        Address = dto.Address,
+                        UnitInfo = dto.UnitInfo,
+                        Contact = dto.Contact,
+                        Job = dto.Job,
+                        Tel = dto.Tel,
+                        Email = dto.Email,
+                        WeChat = dto.WeChat,
+                        FaceBook = dto.FaceBook,
+                        Ins = dto.Ins,
+                        Delegation = dto.Delegation,
+                        FilePath = dto.FilePath,
+                        SndFilePath = dto.SndFilePath,
+                        Fax = dto.Fax,
+                        CreateUserId = dto.CreateUserId,
+                        Remark = dto.Remark
+                    });
+                    if (!res)
+                    {
+                        return result = new Result() { Code = -1, Msg = "修改失败!" };
+                    }
+                    return result = new Result() { Code = 0, Msg = "修改成功!" };
+                }
+                else
+                {
+                    return result = new Result() { Code = -1, Msg = "请传入Status参数,1添加 2修改!" };
+                }
+            }
+            catch (Exception ex)
+            {
+                return result = new Result() { Code = -2, Msg = "程序错误!" };
+            }
+        }
+    }
+}