Bläddra i källkod

新增公务出访查询及添加修改操作

wangh 1 år sedan
förälder
incheckning
a67c2c5adb

+ 1 - 0
OASystem/EntitySync/Program.cs

@@ -99,5 +99,6 @@ db.CodeFirst.SetStringDefaultLength(50).BackupTable().InitTables(new Type[]
     //typeof(Fin_ForeignReceivables),    // 对外收款账单
     //typeof(Fin_ProceedsReceived),      // 已收款项
     //typeof(Fin_OtherPrice),            // 其他款项
+    //typeof(Res_OfficialActivities)     //公务出访
 });
 Console.WriteLine("数据库结构同步完成!");

+ 17 - 0
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -209,6 +209,23 @@ namespace OASystem.API.Controllers
 
             return Ok(JsonView(groupData.Data));
         }
+        /// <summary>
+        ///  获取团组所有信息
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> GetGroupAllList()
+        {
+            List<Grp_DelegationInfo> _DelegationInfos=_sqlSugar.Queryable<Grp_DelegationInfo>().Where(a=>a.IsDel==0).OrderBy(a=>a.CreateTime,OrderByType.Desc).ToList();
+            if (_DelegationInfos.Count == 0)
+            {
+                return Ok(JsonView(false, "暂无数据!"));
+            }
+
+            return Ok(JsonView(true,"查询成功!",_DelegationInfos));
+        }
 
         /// <summary>
         ///  接团信息详情

+ 74 - 3
OASystem/OASystem.Api/Controllers/ResourceController.cs

@@ -25,11 +25,13 @@ namespace OASystem.API.Controllers
         private readonly SetDataTypeRepository _setDataTypeRep;
         private readonly AirTicketAgentRepository _airTicketAgentRep;
         private readonly InvitationOfficialActivityDataRepository _InvitationOfficialActivityDataRep;
+        private readonly OfficialActivitiesRepository _officialActivitiesRep;
 
         public ResourceController(IMapper mapper, IConfiguration config, CarDataRepository carDataRep,
             LocalGuideDataRepository localGuideDataRep, ThreeCodeRepository threeCodeRep,
             HotelDataRepository hotelDataRep, ResItemInfoRepository resItemInfoRep, SetDataRepository setDataRepository,
-            CountryFeeRepository countryFeeRep, SetDataTypeRepository setDataTypeRep, AirTicketAgentRepository airTicketAgentRep, InvitationOfficialActivityDataRepository invitationOfficialActivityDataRep)
+            CountryFeeRepository countryFeeRep, SetDataTypeRepository setDataTypeRep, AirTicketAgentRepository airTicketAgentRep,
+            InvitationOfficialActivityDataRepository invitationOfficialActivityDataRep, OfficialActivitiesRepository officialActivitiesRep)
         {
             _mapper = mapper;
             _config = config;
@@ -43,6 +45,7 @@ namespace OASystem.API.Controllers
             _setDataTypeRep = setDataTypeRep;
             _airTicketAgentRep = airTicketAgentRep;
             _InvitationOfficialActivityDataRep = invitationOfficialActivityDataRep;
+            _officialActivitiesRep = officialActivitiesRep;
         }
 
 
@@ -1449,12 +1452,80 @@ Inner Join Sys_Department as d With(Nolock) On u.DepId=d.Id Where m.Id={0} ", _m
                 throw;
             }
         }
+
+        #region 公务出访
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> QueryOfficialActivitiesByDiId(OfficialActivitiesByDiIdDto dto)
+        {
+            try
+            {
+                Result groupData = await _officialActivitiesRep.QueryOfficialActivitiesByDiId(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>
+        /// 根据公务出访数据Id查询数据
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> QueryOfficialActivitiesById(OfficialActivitiesDiIdDto dto)
+        {
+            try
+            {
+                Result groupData = await _officialActivitiesRep.QueryOfficialActivitiesById(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>
+        /// 公务出访操作(Status:1.新增,2.修改)
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> OpOfficialActivities(OpOfficialActivitiesDto dto)
+        {
+            try
+            {
+                Result groupData = await _officialActivitiesRep.OpOfficialActivities(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;
+            }
+        }
+        #endregion
     }
     #endregion
 
-        #region 公务出访
 
-        #endregion
 
 }
 

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

@@ -141,6 +141,10 @@ namespace OASystem.Domain.AutoMappers
             #region 商邀资料
             CreateMap<OpInvitationOfficialActivityDto, Res_InvitationOfficialActivityData>();
             #endregion
+
+            #region 公务出访
+            CreateMap<OpOfficialActivitiesDto, Res_OfficialActivities>();
+            #endregion
             #endregion
 
             #region Crm

+ 109 - 0
OASystem/OASystem.Domain/Dtos/Resource/OfficialActivitiesDto.cs

@@ -0,0 +1,109 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Dtos.Resource
+{
+    public class OfficialActivitiesByDiIdDto: DtoBase
+    {
+        public int DiId { get; set; }
+    }
+    public class OfficialActivitiesDiIdDto
+    {
+        public int Id { get; set; }
+
+        public int DiId { get; set; }
+    }
+    public class OpOfficialActivitiesDto
+    {
+        /// <summary>
+        /// 操作状态
+        /// 1 添加 
+        /// 2 修改 
+        /// </summary>
+        public int Status { get; set; }
+        /// <summary>
+        /// 编号
+        /// </summary>
+        public int Id { get; set; }
+        /// <summary>
+        /// 团组ID
+        /// </summary>
+        public string Diid { get; set; }
+        /// <summary>
+        /// 邀请方 1  公务方 0 
+        /// </summary>
+        public string Type { get; set; }
+        /// <summary>
+        /// 公务单位
+        /// </summary>
+        public string Client { get; set; }
+        /// <summary>
+        /// 公务日期
+        /// </summary>
+        public string Date { get; set; }
+        /// <summary>
+        /// 精确时间
+        /// </summary>
+        public string Time { get; set; }
+        /// <summary>
+        /// 地址
+        /// </summary>
+        public string Address { 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 int OfficialForm { get; set; }
+        /// <summary>
+        /// 公务方背景
+        /// </summary>
+        public string Setting { get; set; }
+        /// <summary>
+        /// 着装要求
+        /// </summary>
+        public string Dresscode { get; set; }
+        /// <summary>
+        /// 参会人员
+        /// </summary>
+        public string Attendees { get; set; }
+        /// <summary>
+        /// 是否需要翻译
+        /// </summary>
+        public string IsNeedTrans { get; set; }
+        /// <summary>
+        /// 翻译人员
+        /// </summary>
+        public string Translators { get; set; }
+        /// <summary>
+        /// 翻译语种
+        /// </summary>
+        public string language { get; set; }
+        /// <summary>
+        /// 暂定行程
+        /// </summary>
+        public string Trip { get; set; }
+        /// <summary>
+        /// 创建者Id
+        /// </summary>
+        public int CreateUserId { get; set; }
+        /// <summary>
+        /// 备注
+        /// </summary>
+        public string Remark { get; set; }
+
+    }
+}

+ 97 - 0
OASystem/OASystem.Domain/Entities/Resource/Res_OfficialActivities.cs

@@ -0,0 +1,97 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Entities.Resource
+{
+    [SugarTable("Res_OfficialActivities")]
+    public class Res_OfficialActivities : EntityBase
+    {    /// <summary>
+         /// 团组ID
+         /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public string Diid { get; set; }
+        /// <summary>
+        /// 邀请方 1  公务方 0 
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public string Type { get; set; }
+        /// <summary>
+        /// 公务单位
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(MAX)")]
+        public string Client { get; set; }
+        /// <summary>
+        /// 公务日期
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(120)")]
+        public string Date { get; set; }
+        /// <summary>
+        /// 精确时间
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(120)")]
+        public string Time { get; set; }
+        /// <summary>
+        /// 地址
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(MAX)")]
+        public string Address { get; set; }
+        /// <summary>
+        /// 联系人
+        /// </summary>+
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(120)")]
+        public string Contact { get; set; }
+        /// <summary>
+        /// 联系人职务
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
+        public string Job { get; set; }
+        /// <summary>
+        /// 联系电话
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(120)")]
+        public string Tel { get; set; }
+        /// <summary>
+        /// 公务形式
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(120)")]
+        public int OfficialForm { get; set; }
+        /// <summary>
+        /// 公务方背景
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(MAX)")]
+        public string Setting { get; set; }
+        /// <summary>
+        /// 着装要求
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(120)")]
+        public string Dresscode { get; set; }
+        /// <summary>
+        /// 参会人员
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(MAX)")]
+        public string Attendees { get; set; }
+        /// <summary>
+        /// 是否需要翻译
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public string IsNeedTrans { get; set; }
+        /// <summary>
+        /// 翻译人员
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(255)")]
+        public string Translators { get; set; }
+        /// <summary>
+        /// 翻译语种
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(120)")]
+        public string language { get; set; }
+        /// <summary>
+        /// 暂定行程
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(MAX)")]
+        public string Trip { get; set; }
+    }
+}

+ 15 - 0
OASystem/OASystem.Domain/ViewModels/Resource/OfficialActivitiesView.cs

@@ -0,0 +1,15 @@
+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 OfficialActivitiesView:Res_OfficialActivities
+    {
+        public string CreateUserName { get; set; }
+        public string OfficialFormName { get; set; }
+    }
+}

+ 2 - 2
OASystem/OASystem.Infrastructure/Repositories/Resource/InvitationOfficialActivityDataRepository.cs

@@ -106,7 +106,7 @@ namespace OASystem.Infrastructure.Repositories.Resource
                 }
                 else
                 {
-                    result = new Result() { Code = -1, Msg = "暂无数据!", Data = _ivitiesViews };
+                    result = new Result() { Code = 0, Msg = "暂无数据!", Data = _ivitiesViews };
                 }
             }
             catch (Exception ex)
@@ -132,7 +132,7 @@ namespace OASystem.Infrastructure.Repositories.Resource
                 }
                 else
                 {
-                    result = new Result() { Code = -1, Msg = "暂无数据!", Data = res_Invitation };
+                    result = new Result() { Code = 0, Msg = "暂无数据!", Data = res_Invitation };
                 }
             }
             catch (Exception ex)

+ 2 - 2
OASystem/OASystem.Infrastructure/Repositories/Resource/LocalGuideDataRepository.cs

@@ -120,7 +120,7 @@ namespace OASystem.Infrastructure.Repositories.Resource
                     List<Res_LocalGuideData> LocalGuideData = await _sqlSugar.SqlQueryable<Res_LocalGuideData>(sql).ToListAsync();
                     if (LocalGuideData.Count == 0)
                     {
-                        return result = new Result() { Code = -1, Msg = "暂无数据" };
+                        return result = new Result() { Code = 0, Msg = "暂无数据" };
                     }
                     LocalGuideData = LocalGuideData.OrderByDescending(x => x.CreateTime).ToList();
 
@@ -168,7 +168,7 @@ namespace OASystem.Infrastructure.Repositories.Resource
                     List<Res_LocalGuideData> LocalGuideData = await _sqlSugar.SqlQueryable<Res_LocalGuideData>(sql).ToListAsync();
                     if (LocalGuideData.Count == 0)
                     {
-                        return result = new Result() { Code = -1, Msg = "暂无数据" };
+                        return result = new Result() { Code = 0, Msg = "暂无数据" };
                     }
                     LocalGuideData = LocalGuideData.OrderByDescending(x => x.CreateTime).ToList();
 

+ 199 - 0
OASystem/OASystem.Infrastructure/Repositories/Resource/OfficialActivitiesRepository.cs

@@ -0,0 +1,199 @@
+using AutoMapper;
+using MathNet.Numerics.Distributions;
+using MathNet.Numerics.Statistics.Mcmc;
+using OASystem.Domain;
+using OASystem.Domain.Dtos.Resource;
+using OASystem.Domain.Entities.Groups;
+using OASystem.Domain.Entities.Resource;
+using OASystem.Domain.ViewModels.Resource;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Infrastructure.Repositories.Resource
+{
+    public class OfficialActivitiesRepository : BaseRepository<Res_OfficialActivities, OfficialActivitiesView>
+    {
+        private readonly IMapper _mapper;
+        public OfficialActivitiesRepository(SqlSugarClient sqlSugar, IMapper mapper) : base(sqlSugar)
+        {
+            _mapper = mapper;
+        }
+
+        
+
+        /// <summary>
+        /// 根据Diid查询公务出访数据List
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        public async Task<Result> QueryOfficialActivitiesByDiId(OfficialActivitiesByDiIdDto dto)
+        {
+            Result result = new Result() { Code = -2, Msg = "未知错误" };
+            try
+            {
+                string sqlWhere = string.Empty;
+                sqlWhere += string.Format(@"And o.Isdel={0} And o.DiId={1} ", 0,dto.DiId);
+
+                if (!string.IsNullOrEmpty(sqlWhere.Trim()))
+                {
+                    Regex r = new Regex("And");
+                    sqlWhere = r.Replace(sqlWhere, "Where", 1);
+                }
+                string sql = string.Format(@"select *,(select CnName from Sys_Users where o.CreateUserId=Id) as CreateUserName,(select Name from Sys_SetData
+                                            where Id=o.OfficialForm) as OfficialFormName from Res_OfficialActivities o {0} order by o.CreateTime desc", sqlWhere);
+                List<OfficialActivitiesView> OfficialActivities = await _sqlSugar.SqlQueryable<OfficialActivitiesView>(sql).ToListAsync();
+                if (OfficialActivities.Count != 0)
+                {
+                    if (dto.PageSize == 0 && dto.PageIndex == 0)
+                    {
+                        result = new Result() { Code = 0, Msg = "查询成功!", Data = OfficialActivities };
+                    }
+                    else
+                    {
+                        int count = OfficialActivities.Count;
+                        float totalPage = (float)count / dto.PageSize;//总页数
+                        if (totalPage == 0) totalPage = 1;
+                        else totalPage = (int)Math.Ceiling((double)totalPage);
+
+                        List<OfficialActivitiesView> _OfficialActivities = new List<OfficialActivitiesView>();
+                        for (int i = 0; i < dto.PageSize; i++)
+                        {
+                            var RowIndex = i + (dto.PageIndex - 1) * dto.PageSize;
+                            if (RowIndex < OfficialActivities.Count)
+                            {
+                                _OfficialActivities.Add(OfficialActivities[RowIndex]);
+                            }
+                            else
+                            {
+                                break;
+                            }
+                        }
+                        ListViewBase<OfficialActivitiesView> rst = new ListViewBase<OfficialActivitiesView>();
+                        rst.DataList = _OfficialActivities;
+                        rst.DataCount = count;
+                        rst.CurrPageIndex = dto.PageIndex;
+                        rst.CurrPageSize = dto.PageSize;
+                        result = new Result() { Code = 0, Msg = "查询成功!", Data = rst };
+                    }
+
+                }
+                else
+                {
+                    result = new Result() { Code = 0, Msg = "暂无数据!", Data = OfficialActivities };
+                }
+            }
+            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> QueryOfficialActivitiesById(OfficialActivitiesDiIdDto dto)
+        {
+            Result result = new Result() { Code = -2, Msg = "未知错误" };
+            try
+            {
+                string sqlWhere = string.Empty;
+                sqlWhere += string.Format(@"And o.Isdel={0} And o.DiId={1} And o.Id={2}", 0, dto.DiId,dto.Id);
+
+                if (!string.IsNullOrEmpty(sqlWhere.Trim()))
+                {
+                    Regex r = new Regex("And");
+                    sqlWhere = r.Replace(sqlWhere, "Where", 1);
+                }
+                string sql = string.Format(@"select *,(select CnName from Sys_Users where o.CreateUserId=Id) as CreateUserName,(select Name from Sys_SetData
+                                            where Id=o.OfficialForm) as OfficialFormName from Res_OfficialActivities o {0}", sqlWhere);
+                OfficialActivitiesView OfficialActivities = await _sqlSugar.SqlQueryable<OfficialActivitiesView>(sql).FirstAsync();
+                List<Sys_SetData> data = await _sqlSugar.Queryable<Sys_SetData>().Where(a => a.IsDel == 0 && a.STid == 38).ToListAsync();
+               
+                result = new Result() { Code = 0, Msg = "查询成功!", Data =new{
+                    OfficialActivities=OfficialActivities,
+                    SetData=data
+                    } };
+               
+            }
+            catch (Exception ex)
+            {
+                result = new Result() { Code = -2, Msg = "未知错误" };
+            }
+            return result;
+        }
+        public async Task<Result> OpOfficialActivities(OpOfficialActivitiesDto dto)
+        {
+            Result result = new Result() { Code = -2, Msg = "未知错误" };
+            try
+            {
+                if (dto.Status == 1)//添加
+                {
+                    string selectSql = string.Format(@"select * from Res_OfficialActivities where Client='{0}' and Address='{1}' and IsDel='{2}'", dto.Client,dto.Address, 0);
+                    var res_InvitationOfficial = await _sqlSugar.SqlQueryable<Res_OfficialActivities>(selectSql).FirstAsync();//查询是否存在
+                    if (res_InvitationOfficial != null)
+                    {
+                        return result = new Result() { Code = -1, Msg = "该信息已存在,请勿重复添加!" };
+
+                    }
+                    else//不存在,可添加
+                    {
+
+                        int Dovid =0;
+                        Res_OfficialActivities _InvitationOfficialActivityData = _mapper.Map<Res_OfficialActivities>(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_OfficialActivities
+                    {
+                        Type = dto.Type,
+                        Client = dto.Client,
+                        Date = dto.Date,
+                        Time = dto.Time,
+                        Address = dto.Address,
+                        Contact = dto.Contact,
+                        Job = dto.Job,
+                        Tel = dto.Tel,
+                        OfficialForm = dto.OfficialForm,
+                        Setting = dto.Setting,
+                        Dresscode = dto.Dresscode,
+                        Attendees = dto.Attendees,
+                        IsNeedTrans = dto.IsNeedTrans,
+                        Translators = dto.Translators,
+                        language = dto.language,
+                        Trip = dto.Trip,
+                        CreateUserId = dto.CreateUserId,
+                        Remark = dto.Remark,
+                    });
+                    if (!res)
+                    {
+                        return result = new Result() { Code = -1, Msg = "修改失败!" };
+                    }
+                    return result = new Result() { Code = 0, Msg = "修改成功!", Data = new { Id = dto.Id } };
+                }
+                else
+                {
+                    return result = new Result() { Code = -1, Msg = "请传入Status参数,1添加 2修改!" };
+                }
+            }
+            catch (Exception ex)
+            {
+                return result = new Result() { Code = -2, Msg = "程序错误!" };
+            }
+        }
+    }
+}