|
@@ -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 = "程序错误!" };
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|