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 { /// /// 客户拜访 仓储 /// public class VisitingClientsRepository : BaseRepository { 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() }; } /// /// 获取客户拜访列表 /// /// /// /// /// /// /// public async Task _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.Remark From Grp_VisitingClients vc Left Join Sys_Users u On vc.CreateUserId = u.Id Where vc.Isdel = 0 And vc.DiId = {diId}"); RefAsync total = 0; var data = await _sqlSugar.SqlQueryable(sql).ToPageListAsync(pageIndex, pageSize, total); _view.Code = StatusCodes.Status200OK; _view.Msg = MsgTips.Succeed; _view.Data = data; _view.Count = total; } return _view; } /// /// 团组客户拜访 Add Or Edit /// /// /// public async Task _AddOrEdit(MarketingSalesVCOperrateDto _dto) { var info = _mapper.Map(_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 _Save(MarketingSalesVCSaveDto _dto) { var infos = _mapper.Map>(_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() .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() }; } /// /// 团组客户拜访 del /// /// /// /// public async Task _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() }; } } }