123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718 |
- using AutoMapper;
- using LinqKit;
- using Ropin.Inspection.Common.Accessor.Interface;
- using Ropin.Inspection.Model;
- using Ropin.Inspection.Model.Entities;
- using Ropin.Inspection.Model.SearchModel;
- using Ropin.Inspection.Model.ViewModel;
- using Ropin.Inspection.Repository;
- using Ropin.Inspection.Repository.Interface;
- using Ropin.Inspection.Service.Interface;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Linq.Expressions;
- using System.Text;
- using System.Threading.Tasks;
- namespace Ropin.Inspection.Service
- {
- public class TispSpotService : ITispSpotService
- {
- private readonly ITispSpotRepository _repository;
- private readonly ITispSpotContentRepository _tispSpotContentRepository;
- private readonly ITispContentRepository _tispContentRepository;
- private readonly ITmtnSpotDevOpsContentRepository _tmtnSpotDevOpsContentRepository;
- private readonly ITmtnDevOpsContentRepository _tmtnDevOpsContentRepository;
- private readonly ITispSpotUserRepository _tispSpotUserRepository;
- private readonly ITprdProductService _tprdProductService;
- private readonly IUnitOfWork _unitOfWork;
- private readonly ITdevDevSpotRepository _tdevDevSpotRepository;
- private readonly IMapper _mapper;
- private readonly IClaimsAccessor _claims;
- private readonly ITispRecordItemRepository _tispRecordItemRepository;
- public TispSpotService(
- ITispRecordItemRepository tispRecordItemRepository,
- IClaimsAccessor claims,
- ITprdProductService tprdProductService,
- ITispSpotRepository repository,
- ITispSpotContentRepository tispSpotContentRepository,
- ITispSpotUserRepository tispSpotUserRepository,
- ITmtnSpotDevOpsContentRepository tmtnSpotDevOpsContentRepository,
- ITmtnDevOpsContentRepository tmtnDevOpsContentRepository,
- ITispContentRepository tispContentRepository,
- ITdevDevSpotRepository tdevDevSpotRepository,
- IUnitOfWork unitOfWork,
- IMapper mapper)
- {
- _claims = claims;
- _repository = repository;
- _tispSpotContentRepository = tispSpotContentRepository;
- _tispSpotUserRepository = tispSpotUserRepository;
- _tprdProductService = tprdProductService;
- _tispRecordItemRepository = tispRecordItemRepository;
- _tispContentRepository = tispContentRepository;
- _tmtnDevOpsContentRepository = tmtnDevOpsContentRepository;
- _tdevDevSpotRepository = tdevDevSpotRepository;
- _unitOfWork = unitOfWork;
- _mapper = mapper;
- _tmtnSpotDevOpsContentRepository = tmtnSpotDevOpsContentRepository;
- }
- public async Task CreateOneAsync(TispSpotViewModel viewModel)
- {
- var spot = _mapper.Map<TISP_Spot>(viewModel);
- spot.C_CreateBy = _claims.ApiUserId;
- spot.D_CreateOn = DateTime.Now;
- spot.C_LastUpdatedBy = _claims.ApiUserId;
- spot.D_LastUpdatedOn = DateTime.Now;
- _repository.Create(spot);
- var result = await _repository.SaveAsync();
- if (!result)
- {
- throw new Exception("创建失败");
- }
- }
- public async Task CreateOneAsync(TispSpotCreateViewModel viewModel)
- {
- var spot = _mapper.Map<TISP_Spot>(viewModel);
- spot.C_CreateBy = _claims.ApiUserId;
- spot.D_CreateOn = DateTime.Now;
- spot.C_LastUpdatedBy = _claims.ApiUserId;
- spot.D_LastUpdatedOn = DateTime.Now;
- spot.C_Status = "1";
- _repository.Create(spot);
- var result = await _repository.SaveAsync();
- if (!result)
- {
- throw new Exception("创建失败");
- }
- if (null != viewModel.contentIdList)
- {
- foreach (Guid contentId in viewModel.contentIdList)
- {
- TISP_SpotContent spotContent = new TISP_SpotContent();
- spotContent.C_SpotCode = spot.C_Code;
- spotContent.C_ContentCode = contentId;
- spotContent.C_CreateBy = _claims.ApiUserId;
- spotContent.D_CreateOn = DateTime.Now;
- //spotContent.C_LastUpdatedBy = _claims.ApiUserId;
- //spotContent.D_LastUpdatedOn = DateTime.Now;
- //spotContent.C_Status = '1';
- _tispSpotContentRepository.Create(spotContent);
- var resultSpotContent = await _repository.SaveAsync();
- if (!resultSpotContent)
- {
- throw new Exception("创建失败");
- }
- }
- }
- if (null != viewModel.devOpsContentIdList)
- {
- foreach (string contentId in viewModel.devOpsContentIdList)
- {
- TMTN_SpotDevOpsContent spotContent = new TMTN_SpotDevOpsContent();
- spotContent.C_SpotCode = spot.C_Code.ToString();
- spotContent.C_ID = Guid.NewGuid().ToString();
- spotContent.C_DevOpsContentCode = contentId;
- spotContent.C_CreateBy = _claims.ApiUserId;
- spotContent.D_CreateOn = DateTime.Now;
- spotContent.C_Status ="1";
- _tmtnSpotDevOpsContentRepository.Create(spotContent);
- var resultSpotContent = await _tmtnSpotDevOpsContentRepository.SaveAsync();
- if (!resultSpotContent)
- {
- throw new Exception("创建失败");
- }
- }
- }
-
- }
- public async Task CreateOneByDevAsync(TispSpotByDevCreateViewModel viewModel)
- {
- var result = false;
- _unitOfWork.BeginTransaction();
- try
- {
- var spot = _mapper.Map<TISP_Spot>(viewModel);
- spot.C_CreateBy = _claims.ApiUserId;
- spot.D_CreateOn = DateTime.Now;
- spot.C_LastUpdatedBy = _claims.ApiUserId;
- spot.D_LastUpdatedOn = DateTime.Now;
- spot.C_Status = "1";
- result = await _unitOfWork.RegisterNew(spot);
- //_repository.Create(spot);
- //result = await _repository.SaveAsync();
- if (!result)
- {
- throw new Exception("创建失败");
- }
- var devSpot = new TDEV_DevSpot();
- devSpot.C_ID = Guid.NewGuid().ToString();
- devSpot.C_SpotCode = spot.C_Code.ToString();
- devSpot.C_DevStoreCode = viewModel.C_DevStoreCode;
- devSpot.C_CreateBy = _claims.ApiUserId;
- devSpot.D_CreateOn = DateTime.Now;
- //content.C_Status = "1";
- result = await _unitOfWork.RegisterNew(devSpot);
- //result = await _tdevDevSpotRepository.SaveAsync();
- if (!result)
- {
- throw new Exception("创建失败");
- }
-
- string storeCode = string.Empty;
- List<TISP_Content> contentList=null;
- List<TMTN_DevOpsContent> devOpsContentList=null;
- if (null != viewModel.contentList)
- {
- contentList = _mapper.Map<List<TISP_Content>>(viewModel.contentList);
- foreach (var item in contentList)
- {
- item.C_ID = Guid.NewGuid();
- item.C_CreateBy = _claims.ApiUserId;
- item.D_CreateOn = DateTime.Now;
- item.C_Status = "1";
- item.I_Sort = item.I_Sort;
- storeCode = item.C_StoreCode;
- }
- //result = await _unitOfWork.RegisterRangeNew(contentList);
- }
- if (null != viewModel.devOpsContentList)
- {
- devOpsContentList = _mapper.Map<List<TMTN_DevOpsContent>>(viewModel.devOpsContentList);
- foreach (var item in devOpsContentList)
- {
- item.C_ID = item.C_ID;
- item.C_CreateBy = _claims.ApiUserId;
- item.D_CreateOn = DateTime.Now;
- item.C_Status = "1";
- storeCode = item.C_StoreCode;
- }
- //result = await _unitOfWork.RegisterRangeNew(devOpsContentList);
- }
- if (!storeCode.Equals(string.Empty))
- {
- if (contentList != null)
- {
- List<TISP_Content> haveContentList = _mapper.Map<List<TISP_Content>>(contentList);
- IEnumerable<TISP_Content> allContentList = await _tispContentRepository.GetByConditionAsync(x => x.C_StoreCode == storeCode);
- var allList = allContentList.ToList();
- List<TISP_Content> otherContentList = new List<TISP_Content>();
- if (allList.Any())
- {
- foreach (var content in contentList)
- {
- var item = allList.Where(x => x.C_Name == content.C_Name).FirstOrDefault();
- if(item != null)
- otherContentList.Add(item);
- }
-
- }
- //otherContentList = allList.Where(x=>x.C_Name == )
- //haveContentList?.RemoveAll(x => contentList.Select(y => y.C_Name).Contains(x.C_Name));
- //otherContentList = allList.Intersect(contentList).ToList();
- //contentList?.RemoveAll(x => allContentList.ToList().Select(y => y.C_ID).Contains(x.C_ID));
- contentList?.RemoveAll(x => allList.Select(y => y.C_Name).Contains(x.C_Name));
-
- await _unitOfWork.RegisterRangeNew(contentList.ToList());
- foreach (var content in contentList)
- {
- TISP_SpotContent spotContent = new TISP_SpotContent();
- spotContent.C_SpotCode = spot.C_Code;
- spotContent.C_ContentCode = content.C_ID;
- spotContent.C_CreateBy = _claims.ApiUserId;
- spotContent.D_CreateOn = DateTime.Now;
- result = await _unitOfWork.RegisterNew<TISP_SpotContent>(spotContent);
- if (!result)
- {
- throw new Exception("创建失败");
- }
- }
- foreach (var content in otherContentList)
- {
- TISP_SpotContent spotContent = new TISP_SpotContent();
- spotContent.C_SpotCode = spot.C_Code;
- spotContent.C_ContentCode = content.C_ID;
- spotContent.C_CreateBy = _claims.ApiUserId;
- spotContent.D_CreateOn = DateTime.Now;
- result = await _unitOfWork.RegisterNew<TISP_SpotContent>(spotContent);
- if (!result)
- {
- throw new Exception("创建失败");
- }
- }
- }
- if (devOpsContentList != null)
- {
- foreach (var content in devOpsContentList)
- {
- TMTN_SpotDevOpsContent spotContent = new TMTN_SpotDevOpsContent();
- spotContent.C_SpotCode = spot.C_Code.ToString();
- spotContent.C_ID = Guid.NewGuid().ToString();
- spotContent.C_DevOpsContentCode = content.C_ID;
- spotContent.C_CreateBy = _claims.ApiUserId;
- spotContent.D_CreateOn = DateTime.Now;
- spotContent.C_Status = "1";
- result = await _unitOfWork.RegisterNew<TMTN_SpotDevOpsContent>(spotContent);
- if (!result)
- {
- throw new Exception("创建失败");
- }
- }
- IEnumerable<TMTN_DevOpsContent> allContentList = await _tmtnDevOpsContentRepository.GetByConditionAsync(x => x.C_StoreCode == storeCode);
- devOpsContentList?.RemoveAll(x => allContentList.ToList().Select(y => y.C_ID).Contains(x.C_ID));
- await _unitOfWork.RegisterRangeNew(devOpsContentList);
- }
- //var allInContentList = contentList == null ? null:contentList?.Union(devOpsContentList).ToList();
- //IEnumerable<TISP_Content> allContentList = await _tispContentRepository.GetByConditionAsync(x => x.C_StoreCode == storeCode);
- ////var isexsist = allContentList.ToList()?.Except(allInContentList).Distinct().ToList();
- //allInContentList?.RemoveAll(x => allContentList.ToList().Select(y => y.C_ID).Contains(x.C_ID));
- //result = await _unitOfWork.RegisterRangeNew(allInContentList);
- }
- }
- catch (Exception ex)
- {
- result = false;
- throw new Exception("创建失败");
- }
- finally
- {
- if (result)
- await _unitOfWork.CommitAsync();
- else
- _unitOfWork.Rollback();
- }
- //var result = false;
- //_unitOfWork.BeginTransaction();
- //try
- //{
- // var spot = _mapper.Map<TISP_Spot>(viewModel);
- // spot.C_CreateBy = _claims.ApiUserId;
- // spot.D_CreateOn = DateTime.Now;
- // spot.C_LastUpdatedBy = _claims.ApiUserId;
- // spot.D_LastUpdatedOn = DateTime.Now;
- // spot.C_Status = "1";
- // _repository.Create(spot);
- // result = await _repository.SaveAsync();
- // if (!result)
- // {
- // throw new Exception("创建失败");
- // }
- // var devSpot = new TDEV_DevSpot();
- // devSpot.C_ID = Guid.NewGuid().ToString();
- // devSpot.C_SpotCode = spot.C_Code.ToString();
- // devSpot.C_DevStoreCode = viewModel.C_DevStoreCode;
- // devSpot.C_CreateBy = _claims.ApiUserId;
- // devSpot.D_CreateOn = DateTime.Now;
- // //content.C_Status = "1";
- // _tdevDevSpotRepository.Create(devSpot);
- // result = await _tdevDevSpotRepository.SaveAsync();
- // if (!result)
- // {
- // throw new Exception("创建失败");
- // }
- // if (null != viewModel.contentList)
- // {
- // IList<TISP_Content> contentList = _mapper.Map<List<TISP_Content>>(viewModel.contentList);
- // foreach (var item in contentList)
- // {
- // item.C_ID = item.C_ID;
- // item.C_CreateBy = _claims.ApiUserId;
- // item.D_CreateOn = DateTime.Now;
- // item.C_Status = "1";
- // }
- // await _tispContentRepository.CreateRangeAsync(contentList);
- // }
- // if (null != viewModel.devOpsContentList)
- // {
- // IList<TISP_Content> devOpsContentList = _mapper.Map<List<TISP_Content>>(viewModel.devOpsContentList);
- // foreach (var item in devOpsContentList)
- // {
- // item.C_ID = item.C_ID;
- // item.C_CreateBy = _claims.ApiUserId;
- // item.D_CreateOn = DateTime.Now;
- // item.C_Status = "1";
- // }
- // await _tispContentRepository.CreateRangeAsync(devOpsContentList);
- // }
- //}
- //catch (Exception ex)
- //{
- // throw new Exception("创建失败");
- //}
- //finally
- //{
- // if (result)
- // await _unitOfWork.CommitAsync();
- // else
- // _unitOfWork.Rollback();
- //}
- }
- public async Task DeleteAsync(Guid id)
- {
- var spot = await _repository.GetByIdAsync(id);
- if (spot == null)
- {
- throw new Exception("没有此数据");
- }
- spot.C_Status = "0";
- spot.C_LastUpdatedBy = _claims.ApiUserId;
- spot.D_LastUpdatedOn = DateTime.Now;
- _repository.Update(spot);
- var result = await _repository.SaveAsync();
- if (!result)
- {
- throw new Exception("删除失败");
- }
- }
- public async Task<IEnumerable<TispSpotViewModel>> GetAllAsync()
- {
- var pagedList = await _repository.GetAllAsync();
- var spotDtoList = _mapper.Map<IEnumerable<TispSpotViewModel>>(pagedList);
- return spotDtoList.ToList();
- }
- public async Task<TispSpotViewModel> GetSpotByQRCodeAsync(string qRCode, string storeCode)
- {
- TispSpotViewModel spotDto = await _repository.GetSpotByQRCodeAsync(qRCode, storeCode);
- if (null == spotDto)
- {
- return null;
- }
- //int iResult = await _tispSpotUserRepository.GetBySpotIdAndUserIdAsync(spotDto.C_Code, _claims.ApiUserId);
- //if (iResult <= 0 && _claims.RoleIds.Contains("巡检员"))
- //{
- // throw new Exception("此巡检点没有分配给您!");
- //}
- var spotContent = _tispSpotContentRepository.GetBySpotCodeAsync(spotDto.C_Code);
- List<TispContentViewModel> spotContentDtoList = _mapper.Map<IEnumerable<TispContentViewModel>>(spotContent.Where(x=>x.C_StoreCode == storeCode).ToList()).ToList();
- var devOpsContent = _tmtnSpotDevOpsContentRepository.GetBySpotCodeAsync(spotDto.C_Code.ToString());
- List<TmtnDevOpsContentViewModel> devOpsContentList = _mapper.Map<IEnumerable<TmtnDevOpsContentViewModel>>(devOpsContent.Where(x => x.C_StoreCode == storeCode).ToList()).ToList();
- for (int i= spotContentDtoList.Count-1; i>=0 ;i--)
- {
- var iCount = await _tispRecordItemRepository.GetContentAlarmCout(spotContentDtoList[i].C_ID, spotDto.C_Code);
- if (iCount > 0 )
- {
- spotContentDtoList.Remove(spotContentDtoList[i]);
- }
- }
- spotDto.ContentList = spotContentDtoList;
- spotDto.DevOpsContentList = devOpsContentList;
- return spotDto;
- //var spot = await _repository.GetSpotContentsByQRCodeAsync(qRCode);
- //return spot.FirstOrDefault();
- }
-
- public async Task<TispSpotViewModel> GetSpotProductByQRCodeTAsync(string qRCode, string storeCode)
- {
- TispSpotViewModel spotDto = await _repository.GetSpotByQRCodeAsync(qRCode, storeCode);
- IEnumerable<TprdProductViewModel> products;
- if (null == spotDto)
- {
- products = await _tprdProductService.GetConditionAsync(new TprdProductSearchModel { C_QRCode = qRCode,C_StoreCode = storeCode });
- }else
- {
- products = await _tprdProductService.GetConditionAsync(new TprdProductSearchModel { C_SpotCode =spotDto.C_Code.ToString() });
- }
- spotDto.ProductList = products;
- return spotDto;
- }
- public async Task<TispSpotDevStoreViewModel> GetDevStoreByQRCodeAsync(string qRCode, string storeCode)
- {
- TispSpotDevStoreViewModel spotDto = await _repository.GetDevStoreByQRCodeAsync(qRCode, storeCode);
- return spotDto;
- }
- public Task<IEnumerable<TispSpotViewModel>> GetByConditionAsync(Expression<Func<TispSpotViewModel, bool>> expression)
- {
- throw new NotImplementedException();
- }
- public async Task<IEnumerable<TispSpotViewModel>> GetSpotsConditionAsync(TispSpotSearchModel searchModel)
- {
- var predicate = PredicateBuilder.New<TISP_Spot>(true);//查询条件,推荐后台使用这种方式灵活筛选
- #region 添加条件查询
- //predicate = predicate.And(i => i.C_Status.Equals("1"));
- predicate.And(i => i.C_StoreCode.Equals(searchModel.C_StoreCode));
- if (!string.IsNullOrEmpty(searchModel.C_Name))
- {
- predicate = predicate.And(i => i.C_Name.Contains(searchModel.C_Name));
- }
- if (!string.IsNullOrEmpty(searchModel.C_Status))
- {
- predicate = predicate.And(i => i.C_Status.Equals(searchModel.C_Status));
- }
- if (!string.IsNullOrEmpty(searchModel.C_Number))
- {
- predicate = predicate.And(i => i.C_Number.Equals(searchModel.C_Number));
- }
- if (!string.IsNullOrEmpty(searchModel.C_Position))
- {
- predicate = predicate.And(i => i.C_Position.Equals(searchModel.C_Position));
- }
- if (!string.IsNullOrEmpty(searchModel.C_QRCode))
- {
- predicate = predicate.And(i => i.C_QRCode.Equals(searchModel.C_QRCode));
- }
- if (!string.IsNullOrEmpty(searchModel.C_AreaCode))
- {
- predicate = predicate.And(i => i.C_AreaCode.Equals(searchModel.C_AreaCode));
- }
- #endregion
- var list = await _repository.GetPageAsync(predicate, "-D_CreateOn", searchModel.IsPagination, searchModel.PageIndex, searchModel.PageSize);
- searchModel.TotalCount = list.Totals;
- var dtoList = _mapper.Map<List<TISP_Spot>, List<TispSpotViewModel>>(list.Rows);
- return dtoList;
- }
- public async Task<IEnumerable<TispSpotViewModel>> GetSpotsConditionNoDevSpotRepeatAsync(TispSpotSearchModel searchModel)
- {
- // _tdevDevSpotRepository---------
- var predicate = PredicateBuilder.New<TISP_Spot>(true);//查询条件,推荐后台使用这种方式灵活筛选
- var devSpotList = _tdevDevSpotRepository.GetAll();
- var SpotCode = devSpotList.Select(t=>t.C_SpotCode);
- #region 添加条件查询
- //predicate = predicate.And(i => i.C_Status.Equals("1"));
- predicate.And(i => i.C_StoreCode.Equals(searchModel.C_StoreCode));
- if (!string.IsNullOrEmpty(searchModel.C_Name))
- {
- predicate = predicate.And(i => i.C_Name.Contains(searchModel.C_Name));
- }
- if (!string.IsNullOrEmpty(searchModel.C_Status))
- {
- predicate = predicate.And(i => i.C_Status.Equals(searchModel.C_Status));
- }
- if (!string.IsNullOrEmpty(searchModel.C_Number))
- {
- predicate = predicate.And(i => i.C_Number.Equals(searchModel.C_Number));
- }
- if (!string.IsNullOrEmpty(searchModel.C_Position))
- {
- predicate = predicate.And(i => i.C_Position.Equals(searchModel.C_Position));
- }
- if (!string.IsNullOrEmpty(searchModel.C_QRCode))
- {
- predicate = predicate.And(i => i.C_QRCode.Equals(searchModel.C_QRCode));
- }
- if (!string.IsNullOrEmpty(searchModel.C_AreaCode))
- {
- predicate = predicate.And(i => i.C_AreaCode.Equals(searchModel.C_AreaCode));
- }
- #endregion
- predicate=predicate.And(i=> !SpotCode.Contains(i.C_Code.ToString()));
- var list = await _repository.GetPageAsync(predicate, "-D_CreateOn", searchModel.IsPagination, searchModel.PageIndex, searchModel.PageSize);
- searchModel.TotalCount = list.Totals;
- var dtoList = _mapper.Map<List<TISP_Spot>, List<TispSpotViewModel>>(list.Rows);
- return dtoList;
- }
- public async Task<TispSpotViewModel> GetByIdAsync(Guid id)
- {
- var spot = await _repository.GetByIdAsync(id);
- if (null == spot)
- {
- return null;
- }
- var spotDto = _mapper.Map<TispSpotViewModel>(spot);
- var spotContent = _tispSpotContentRepository.GetBySpotCodeAsync(id);
- IEnumerable<TispContentViewModel> spotContentDtoList = _mapper.Map<IEnumerable<TispContentViewModel>>(spotContent.Where(x=>x.C_StoreCode ==spot.C_StoreCode).ToList());
- spotDto.ContentList = spotContentDtoList;
- var spotDevOpsContent = _tmtnSpotDevOpsContentRepository.GetBySpotCodeAsync(id.ToString());
- IEnumerable<TmtnDevOpsContentViewModel> spotDevOpsContentList = _mapper.Map<IEnumerable<TmtnDevOpsContentViewModel>>(spotDevOpsContent.Where(x => x.C_StoreCode == spot.C_StoreCode).ToList());
- spotDto.DevOpsContentList = spotDevOpsContentList;
- return spotDto;
- }
- public Task<bool> IsExistAsync(Guid id)
- {
- throw new NotImplementedException();
- }
- public async Task UpdateAsync(Guid id, TispSpotUpdateViewModel updateModel)
- {
- var spot = await _repository.GetByIdAsync(id);
- if (spot == null)
- {
- throw new Exception("没有此点");
- }
- spot.C_LastUpdatedBy = _claims.ApiUserId;
- spot.D_LastUpdatedOn = DateTime.Now;
- _mapper.Map(updateModel, spot, typeof(TispSpotUpdateViewModel), typeof(TISP_Spot));
- _repository.Update(spot);
- var result = await _repository.SaveAsync();
- if (!result)
- {
- throw new Exception("更新失败");
- }
- if (null != updateModel.contentIdList)
- {
- //删除
- await _tispSpotContentRepository.DeleteBySpotIdAsync(id);
- foreach (Guid contentId in updateModel.contentIdList)
- {
- TISP_SpotContent spotContent = new TISP_SpotContent();
- spotContent.C_SpotCode = id;
- spotContent.C_ContentCode = contentId;
- spotContent.C_CreateBy = _claims.ApiUserId;
- spotContent.D_CreateOn = DateTime.Now;
- //spotContent.C_LastUpdatedBy = _claims.ApiUserId;
- //spotContent.D_LastUpdatedOn = DateTime.Now;
- //spotContent.C_Status = '1';
- _tispSpotContentRepository.Create(spotContent);
- var resultSpotContent = await _repository.SaveAsync();
- if (!resultSpotContent)
- {
- throw new Exception("创建失败");
- }
- }
- }
- if (null != updateModel.devOpsContentIdList)
- {
- await _tmtnSpotDevOpsContentRepository.DeleteBySpotIdAsync(id.ToString());
- foreach (string contentId in updateModel.devOpsContentIdList)
- {
- TMTN_SpotDevOpsContent spotContent = new TMTN_SpotDevOpsContent();
- spotContent.C_SpotCode = id.ToString();
- spotContent.C_ID = Guid.NewGuid().ToString();
- spotContent.C_DevOpsContentCode = contentId;
- spotContent.C_CreateBy = _claims.ApiUserId;
- spotContent.D_CreateOn = DateTime.Now;
- spotContent.C_Status = "1";
- _tmtnSpotDevOpsContentRepository.Create(spotContent);
- var resultSpotContent = await _tmtnSpotDevOpsContentRepository.SaveAsync();
- if (!resultSpotContent)
- {
- throw new Exception("创建失败");
- }
- }
- }
- }
- public async Task UpdateConfigureSpotAsync(Guid id, TispSpotConfigureUpdateViewModel updateModel)
- {
- var spot = await _repository.GetByIdAsync(id);
- if (spot == null)
- {
- throw new Exception("没有此巡检点");
- }
- //if(!string.IsNullOrEmpty(spot.C_QRCode) && !spot.C_QRCode.Equals(updateModel.C_QRCode))
- //{
- // var spotTwo = await GetSpotsConditionAsync(new TispSpotSearchModel { C_QRCode = updateModel.C_QRCode, C_StoreCode = spot.C_StoreCode });
- // if (spotTwo != null)
- // {
- // throw new Exception("此二维码已经分配给了巡检点");
- // }
- //}
- if (!string.IsNullOrEmpty(spot.C_QRCode) && spot.C_QRCode.Equals(updateModel.C_QRCode))
- {
- }
- else
- {
- //if(!string.IsNullOrEmpty(spot.C_QRCode) && !spot.C_QRCode.Equals(updateModel.C_QRCode))
- //{
- var spotTwo = await GetSpotsConditionAsync(new TispSpotSearchModel { C_QRCode = updateModel.C_QRCode, C_StoreCode = spot.C_StoreCode });
- if (spotTwo.Any())
- {
- throw new Exception("此二维码已经分配给了巡检点");
- }
- //}
- }
- spot.C_LastUpdatedBy = _claims.ApiUserId;
- spot.D_LastUpdatedOn = DateTime.Now;
- if(!string.IsNullOrEmpty(updateModel.C_ImageUrl))
- spot.C_ImageUrl = updateModel.C_ImageUrl;
- if (updateModel.IsUpdateGPS)
- {
- spot.C_GPS = updateModel.C_GPS;
- }
- spot.C_QRCode = updateModel.C_QRCode;
- spot.I_Offset = updateModel.I_Offset;
- _repository.Update(spot);
- var result = await _repository.SaveAsync();
- if (!result)
- {
- throw new Exception("更新失败");
- }
- }
- public async Task UpdateSpotImageAsync(Guid id, string imageUrl)
- {
- var spot = await _repository.GetByIdAsync(id);
- if (spot == null)
- {
- throw new Exception("没有此巡检点");
- }
- spot.C_LastUpdatedBy = _claims.ApiUserId;
- spot.D_LastUpdatedOn = DateTime.Now;
- if (!string.IsNullOrEmpty(imageUrl))
- spot.C_ImageUrl = imageUrl;
- _repository.Update(spot);
- var result = await _repository.SaveAsync();
- if (!result)
- {
- throw new Exception("更新失败");
- }
- }
- public Task<int> UpdateOneAsync(TispSpotViewModel viewModel, params string[] fields)
- {
- throw new NotImplementedException();
- }
- //public async Task<int> UpdateOneAsync(TispSpotViewModel viewModel, params string[] fields)
- //{
- // var user = await _repository.GetByIdAsync(id);
- // if (user == null)
- // {
- // throw new Exception("没有此用户");
- // }
- // user.C_LastUpdatedBy = new Guid("62D5B5F5-3008-49B7-B0D6-CC337F1A3330");
- // user.D_LastUpdatedOn = DateTime.Now;
- // _mapper.Map(updateUser, user, typeof(TsysUserUpdateViewModel), typeof(TSYS_User));
- // _repository.Update(user);
- // var result = await _repository.SaveAsync();
- // if (!result)
- // {
- // throw new Exception("更新用户失败");
- // }
- //}
- public Task UpdateUserAsync(Guid id, TispSpotUpdateViewModel updateUser)
- {
- throw new NotImplementedException();
- }
-
- }
- }
|