| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 | using AutoMapper;using EyeSoft.Runtime.InteropServices;using OASystem.Domain;using OASystem.Domain.Dtos.Statistics;using OASystem.Domain.Entities.Groups;using OASystem.Domain.ViewModels.Groups;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace OASystem.Infrastructure.Repositories.Groups{    /// <summary>    /// 客户拜访 仓储    /// </summary>    public class VisitingClientsRepository : BaseRepository<Grp_VisitingClients, VisitingClientsView>    {        private readonly IMapper _mapper;        private readonly JsonView _view;         public VisitingClientsRepository(SqlSugarClient sqlSugar, IMapper mapper)            : base(sqlSugar)        {            _mapper = mapper;            _view = new JsonView() { Code = StatusCodes.Status400BadRequest, Msg = BusStatusCode.Failed.GetEnumDescription() };        }        /// <summary>        /// 获取客户拜访列表        /// </summary>        /// <param name="portType"></param>        /// <param name="pageIndex"></param>        /// <param name="pageSize"></param>        /// <param name="diId"></param>        /// <param name="search"></param>        /// <returns></returns>        public async Task<JsonView> _List(int portType,int pageIndex, int pageSize,int diId,string search)        {            if (portType ==1 || portType == 2 || portType == 3)            {                string sql  = string.Format(@$"Select	ROW_NUMBER() Over(Order By BeginDt Asc) As RowNumber,	vc.Id,	vc.DiId,	vc.BeginDt,	vc.EndDt,	vc.CustomerUnit,	vc.CustomerJob,	vc.CustomerName,	vc.CustomerContact,	u.CnName As Operator,	vc.CreateTime As OperationDt,	vc.RemarkFrom Grp_VisitingClients vc Left Join Sys_Users u On vc.CreateUserId = u.IdWhere vc.Isdel = 0 And vc.DiId = {diId}");                RefAsync<int > total = 0;                var data = await _sqlSugar.SqlQueryable<VisitingClientsListView>(sql).ToPageListAsync(pageIndex, pageSize, total);                _view.Code = StatusCodes.Status200OK;                _view.Msg = MsgTips.Succeed;                _view.Data = data;                _view.Count = total;            }            return _view;        }        /// <summary>        /// 团组客户拜访 Add Or Edit        /// </summary>        /// <param name="_dto"></param>        /// <returns></returns>        public async Task<JsonView> _AddOrEdit(MarketingSalesVCOperrateDto _dto)        {            var info = _mapper.Map<Grp_VisitingClients>(_dto);            if (_dto.PortType == 1 || _dto.PortType == 2 || _dto.PortType == 3)            {                if (info.Id > 0) //编辑                {                    var update = await _sqlSugar.Updateable(info).IgnoreColumns(it => new { it.CreateTime, it.CreateUserId, it.DeleteUserId, it.DeleteTime, it.IsDel }).ExecuteCommandAsync();                    if (update <= 0) return new JsonView() { Code = (int)BusStatusCode.UpdateFailed, Msg = BusStatusCode.UpdateFailed.GetEnumDescription() };                }                else //新增                {                    info.CreateUserId = _dto.UserId;                    var add = await _sqlSugar.Insertable(info).ExecuteCommandAsync();                    if (add <= 0) return new JsonView() { Code = (int)BusStatusCode.AddFailed, Msg = BusStatusCode.AddFailed.GetEnumDescription() };                }                return new JsonView() { Code = (int)BusStatusCode.Success, Msg = BusStatusCode.Success.GetEnumDescription() };            }            else return new JsonView() { Code = (int)BusStatusCode.PortTypeError, Msg = BusStatusCode.PortTypeError.GetEnumDescription() };        }        public async Task<JsonView> _Save(MarketingSalesVCSaveDto _dto)        {            var infos = _mapper.Map<List<Grp_VisitingClients>>(_dto.Items);            if (_dto.PortType == 1 || _dto.PortType == 2 || _dto.PortType == 3)            {                if (_dto.DiId < 1)                {                    return new JsonView() { Code = (int)BusStatusCode.DiIdValueError, Msg = BusStatusCode.DiIdValueError.GetEnumDescription() };                }                //int diid = infos[0].DiId;                int userId = _dto.UserId;                //if (diid < 1) return new JsonView() { Code = (int)BusStatusCode.DiIdValueError, Msg = BusStatusCode.DiIdValueError.GetEnumDescription() };                if (userId < 1) return new JsonView() { Code = (int)BusStatusCode.UserIdValueError, Msg = BusStatusCode.UserIdValueError.GetEnumDescription() };                //执行逻辑删除                var update = await _sqlSugar.Updateable<Grp_VisitingClients>()                                            .SetColumns(it => new Grp_VisitingClients() { IsDel = 1, DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), DeleteUserId = _dto.UserId })                                            .Where(it => it.DiId == _dto.DiId)                                            .ExecuteCommandAsync();                if (infos.Count > 0)                {                    infos.ForEach(it =>                    {                        it.CreateUserId = _dto.UserId;                    });                    //执行添加                    var add = await _sqlSugar.Insertable(infos).ExecuteCommandAsync();                    if (add > 0) return new JsonView() { Code = (int)BusStatusCode.Success, Msg = BusStatusCode.Success.GetEnumDescription() };                }                else                {                  return  new JsonView() { Code = (int)BusStatusCode.Success, Msg = BusStatusCode.Success.GetEnumDescription() };                }            }            else return new JsonView() { Code = (int)BusStatusCode.PortTypeError, Msg = BusStatusCode.PortTypeError.GetEnumDescription() };            return new JsonView() { Code = (int)BusStatusCode.Failed, Msg = BusStatusCode.Failed.GetEnumDescription() };        }        /// <summary>        /// 团组客户拜访 del        /// </summary>        /// <param name="id"></param>        /// <param name="userId"></param>        /// <returns></returns>        public async Task<JsonView> _Del(int id, int userId)        {            var info = new Grp_VisitingClients() { Id = id, IsDel = 1, DeleteUserId = userId, DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")};            var update = await _sqlSugar.Updateable(info)                                        .UpdateColumns(it => new { it.IsDel, it.DeleteUserId, it.DeleteTime })                                        .WhereColumns(it => it.Id)                                        .ExecuteCommandAsync();            if (update <= 0) return new JsonView() { Code = (int)BusStatusCode.DeleteFailed, Msg = BusStatusCode.DeleteFailed.GetEnumDescription() };            return new JsonView() { Code = (int)BusStatusCode.Success, Msg = BusStatusCode.Success.GetEnumDescription() };        }    }}
 |